2010-11-07 15 views
8
<select name="d1"> 
    <option value="dd">111</option> 
    <option value="dd">111111</option> 
</select> 
<select name="d2"> 
<option value="dd">2222</option> 
    <option value="dd">222222222222</option> 
</select> 

मैं धन्यवादjQuery चयनकर्ता कैसे चयनकर्ता के लिए दो तत्व

+0

के लिए पूछा है सबसे खराब मामले में आप हमेशा 'add' विधि का उपयोग कर सकते हैं। –

उत्तर

12

कई विकल्प हैं।

$("select").change(function(){xxx}); 
  • का चयन केवल उन चुनिंदा एक रूप के भीतर निहित तत्वों आईडी formD होने:

    $("form#formD select").change(function(){xxx}); 
    
  • का चयन केवल उन चुनिंदा तत्वों

    1. पृष्ठ पर सभी का चयन तत्वों का चयन करें कक्षा d में (class प्रत्येक चयनित तत्व में HTML विशेषता जोड़ें):

      $("select.d").change(function(){xxx}); 
      
    2. का चयन केवल उन चुनिंदा तत्वों जिनके नाम/आईडी d के साथ शुरू:

      $("select[name^=d]").change(function(){xxx}); 
      
    3. का चयन केवल उन चुनिंदा तत्वों विशेष रूप से आईडी के आधार पर नामित (एक id एचटीएमएल विशेषता प्रत्येक चयन तत्व में जोड़ने के लिए):

      $("select#d1, select#d2").change(function(){xxx}); 
      
    4. का चयन केवल उन चुनिंदा तत्वों विशेष रूप से name पर का उपयोग कर नामित श्रद्धांजलि (जो मैं क्योंकि यह कम पढ़ी जा सकती है से बचने की कोशिश करेंगे):

      $("select[name='d1'], select[name='d2']").change(function(){xxx}); 
      
  • +2

    इसे करने के सभी तरीकों को दिखाने के लिए _everyone's_ उत्तरों –

    +2

    +1 चोरी करने के लिए धन्यवाद। मैं विकल्प 3 की सिफारिश करता हूं। – RPM1984

    +0

    ओह रुको, उसने भी किया। +1 वापस ले लिया गया। – RPM1984

    3
    दो का चयन कैसे दो उपयोग jQuery इस दो

    $("select[name='d1']").change(function(){xxx}); 
    

    चयन इस कोड को केवल एक ही तत्व का चयन कर सकता है, किसी भी एक एक हाथ दे सकता है,

    $("select[name='d1'],select[name='d2']").change(function(){xxx}); 
    
    3

    आप चुन सकते हैं d1 या d2:

    $("select[name='d1'], select[name='d2']").change(function(){xxx}); 
    

    लेकिन यह अधिक सुरुचिपूर्ण हो सकता है अगर आप उन्हें उस के आधार पर एक ही कक्षा सौंपा और फिर चयनित:

    <select name="d1" class="d">...</select> 
    <select name="d2" class="d">...</select> 
    
    $("select.d").change(function(){xxx}); 
    
    2

    $("select[name^=d]") - नाम d में शुरुआत के साथ सभी select रों वापस आ जाएगी। यहां पहेली है: http://jsfiddle.net/KjURE/। यह वही है जो आपने

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