2010-12-08 25 views
52

मैं इस तरह दो रूप होते हैं:jQuery में विशिष्ट फॉर्म तत्व का चयन कैसे करें?

<form id='form1' name='form1'> 
    <input name='name' id='name'> 
    <input name='name2' id='name2'> 
</form> 

<form id='form2' name='form2'> 
    <input name='name' id='name'> 
    <input name='name2' id='name2'> 
</form> 

अब मैं नाम Form2 की क्षेत्र में पाठ सम्मिलित करना चाहते हैं। मैं following jQuery code का उपयोग कर रहा हूं लेकिन यह नामफ़ील्ड 1 भर गया है।

$("#name").val('Hello World!'); 

तो केवल विशिष्ट फॉर्म तत्वों का चयन कैसे करें?

उत्तर

105

यह एक ही आईडी को दो बार वैध करने के लिए मान्य नहीं है, इसलिए #name केवल पहला ही पाता है।

आप कोशिश कर सकते हैं:

$("#form2 input").val('Hello World!'); 

या,

$("#form2 input[name=name]").val('Hello World!'); 

आप एक अमान्य पृष्ठ के साथ फंस और सभी #name रों चयन करना चाहते हैं कर रहे हैं, उसकी पहचान पर विशेषता का भी उपयोग करेंगे :

$("input[id=name]").val('Hello World!'); 
+0

+1 धन्यवाद। एक और बात, क्या होगा यदि मैं एकाधिक चयनकर्ता का उपयोग करके एक विशिष्ट रूप के दो फ़ील्ड का चयन करना चाहता हूं। – Awan

+4

'$ ('#formId field1Id, #formId field2Id')' – charliegriefer

+3

@Awan - सभी इनपुट फ़ील्ड, या '$ ('# form2 input') के लिए एक और विकल्प' $ ('# form2 input') है। फ़िल्टर ('[name = name1], [name = name2]') ' – Kobi

8

हालांकि यह अवैध एचटीएमएल है, लेकिन आप अपने sel सीमित करने के लिए चयनकर्ता संदर्भ का उपयोग कर सकते Ector आपके मामले में यह होगा की तरह:

$("input[name='name']" , "#form2").val("Hello World! ");

http://api.jquery.com/jquery/#selector-context

+3

हैं तो यह ध्यान देने योग्य है कि '$ ('इनपुट [name = name]', '# form2')। val ('हैलो वर्ल्ड ! ');' आंतरिक रूप से, jQuery द्वारा '$ (' # form2 ') में अनुवाद किया गया है। (' इनपुट [नाम = नाम] ')। वैल (' हैलो वर्ल्ड! ')' (देखें: [jQuery एपीआई] (http://api.jquery.com/jquery/) विवरण के लिए।) –

+0

आप नाम भाग में उद्धरण चिह्न भूल गए हैं- उनके साथ मुझे एक वाक्यविन्यास त्रुटि मिलती है – ppumkin

1

मुझे पता है कि सवाल इनपुट स्थापित करने के बारे में है, लेकिन अगर आप एक कंबोबॉक्स सेट करना चाहते हैं तो (मैं इसके लिए नेट खोजता हूं और कुछ भी नहीं मिला और यह जगह दूसरों को मार्गदर्शन करने के लिए एक सही जगह प्रतीत होती है)

यदि आपके पास आईडी विशेषता सेट के साथ एक फॉर्म था (उदाहरण के लिए frm1) और आप एक विशिष्ट विशिष्ट combobox सेट करना चाहते थे, बिना आईडी सेट के लेकिन नाम विशेषता सेट (उदा। जिला); तो का उपयोग

$("#frm1 select[name='district'] option[value='NWFP']").attr('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
    <form id="frm1"> 
 
     <select name="district"> 
 
      <option value="" disabled="" selected="" hidden="">Area ...</option> 
 
      <option value="NWFP">NWFP</option> 
 
      <option value="FATA">FATA</option> 
 
     </select> 
 
    </form>

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