2010-02-25 21 views
27

त्वरित प्रश्न ... मैं सोच रहा था कि मैं इसे कैसे प्राप्त कर सकता हूं।मैं jquery का उपयोग कर इनपुट फ़ील्ड का नाम विशेषता कैसे सेट कर सकता हूं?

ठीक है, मैं इस तरह के जैसा एक इनपुट क्षेत्र है:

<input type="text" id="input1" size="10" name="" value="" class="checked other_amount" onfocus="Toggle('radio1', 'input1');" /> 

मैं "other_amount"

साथ इनपुट से #resetPrompt की आईडी के साथ एक div पर क्लिक करें और खाली नाम attr को भरने के लिए चाहते हैं

मैं विचारों की एक लंबा दिन कर दिया गया

धन्यवाद लोग बाहर हूँ,

मैट

उत्तर

45
$('#resetPrompt').click(function(){ 
    $('#input1').attr('name', 'other_amount'); 
}); 
+1

, इस जीत लिया ' एमएसआईई 7 और पुराने में काम नहीं करते हैं। वर्कअराउंड .prop (..): $ ('# इनपुट 1') का उपयोग करके आंतरिक रेखा को फिर से लिखना है। Attr ('name', 'other_amount') || $ ('# इनपुट 1')। प्रोप ('नाम', 'अन्य_माउंट'); – esteewhy

1

हैं "other_amount" अन्य इनपुट की आईडी है, attr और val का उपयोग इस प्रकार है:

$("#resetPrompt").click(function(){ 
    var otherValue = $("#other_amount").val(); 
    $("#input1").attr("name", "someName"); 
} 
+0

ये सभी काम आदमी धन्यवाद! – TikaL13

1

यह मानते हुए कि "other_amount" नाम, इसी इनपुट का आईडी नहीं है।

$('#resetPrompt').click(function() { 
    $('#input1').attr('name', $('[name=other_amount]').val()); 
}); 
+0

ये सभी काम आदमी धन्यवाद! – TikaL13

4

यह वहाँ बाहर सभी Google उपयोगकर्ताओं के लिए है:

यह ध्यान देने योग्य है कि एलेक्स के प्रस्ताव, हालांकि ज्यादातर 'असली' ब्राउज़रों में कार्यात्मक, यानी 8 और नीचे (jQuery 1.6.2 में काम नहीं करता)। इनपुट क्षेत्र के "नाम" विशेषता को सेट करते समय, माइक्रोसॉफ्ट ने एक बग को संबोधित करने के लिए, एक नकली "submitName" विशेषता जोड़ा जब डायनामिक इनपुट फ़ील्ड DOM से जुड़े होते हैं।

यानी समस्या वैकल्पिक हल के लिए, या तो उन्नत करने के लिए, फ़ायरफ़ॉक्स, क्रोम, आदि का उपयोग अपने उपयोगकर्ताओं को बाध्य या आप मैन्युअल रूप से इनपुट क्षेत्र जोड़ने की आवश्यकता होगी: जैसा कि पहले बताया

$("#resetPrompt").click(function(){ 
    $("#input1").remove(); 
    $("#input_container").append('<input id="input1" name="' + other_amount + "' type="text" class="checked other_amount" onFocus="Toggle(\'radio1\', \'input1\');" />'); 
}); 
+0

पुष्टि करें: MSIE7 में $ .name (.., ..) के साथ @name विशेषता सेट नहीं कर सकते - इनपुट केवल पुराने मान को बरकरार रखता है और कुछ भी नहीं होता है। क्या यह हाल ही में jQuery वर्क में संबोधित है? – esteewhy

संबंधित मुद्दे

 संबंधित मुद्दे