2010-01-14 9 views
9

मैं सभी लटकती के माध्यम से लूप करना चाहते हैं एक निश्चित वर्ग के नाम के साथ चयन करता है और इसे करने के लिए एक आइटम जोड़ने और मैं सिर्फ सही चयनकर्ता के साथ संघर्ष कर रहा हूँएक निश्चित वर्ग नाम के साथ सभी चुनिंदा ड्रॉपडाउन प्राप्त करने के लिए सही jquery चयनकर्ता क्या है?


संपादित करें: मैं से ज्यादातर के रूप में कुछ गलत कर किया जाना चाहिए अपरिवर्तित स्वीकृत उत्तर काम नहीं कर रहा है इसलिए मुझे लगता है कि मेरे कोड में कुछ quirk होना चाहिए। मैंने नीचे HTML और jquery कोड दोनों चिपकाए हैं। अगर यह समझ में आता है तो मुझे बताएं।


HTML:

<select onfocus="this.enteredText='';" onkeydown="return handleKey();" onkeyup="event.cancelbubble=true;return false;" onkeypress = "return selectItem();" class="componentSelect" id="components0" name="applicationUpdater.dependencies[0].componentName" > 
<option value= 5 >Client</option> 
<option value= 79 >Server</option> 
</select> 

<select onfocus="this.enteredText='';" onkeydown="return handleKey();" onkeyup="event.cancelbubble=true;return false;" onkeypress = "return selectItem();" class="componentSelect" id="components1" name="applicationUpdater.dependencies[0].componentName" > 
<option value= 5 >Client</option> 
<option value= 79 >Server</option> 
</select> 

आदि। । ।

jQuery कोड:

$('select.componentSelect').each(function() { 
     var select = $(this); 
     $(select).children('option').each(function() { 
      if ($(this).text() == currentComponentName) { 
       $(this).remove(); 
      } 
     }); 

    }); 

उत्तर

6

अपने नए सवाल का जवाब करने के लिए आपको युक्त सभी <option> एक currentComponentName दूर करने के लिए निम्न पंक्ति का उपयोग कर सकते हैं::

11

आप .class selector उपयोग करना चाहिए।

// select every <select> element with classname "yourclassname" 
$('select.yourclassname').each(function() { 
    // $(this) now refers to one specific <select> element 
    // we append an option to it, like you asked for 
    $(this).append(
     $('<option value="foo">Bar</option>'); 
    ); 
}); 

कैसे ठीक jQuery के साथ तत्वों का चयन करने के बारे में अधिक जानकारी के लिए http://docs.jquery.com/Selectors पर एक नज़र डालें।

1

आप .className चयनकर्ता का उपयोग करने की जरूरत है इस तरह:

$('select.className') 

इस चयनकर्ता className चयनकर्ता के साथ element चयनकर्ता (सभी <select> तत्वों मिलान) (सभी तत्वों className क्लास मिलान) को खोजने के लिए को जोड़ती है उस वर्ग के साथ सभी <select> तत्व।

$('select.className').each(function() { 
    var currentSelect = $(this); 
    // ... do your thing ;-) 
}); 
+0

यह क्यों डाउनवॉट किया गया था? – SLaks

1

इस एक शॉट दे दो

$('select.componentSelect option:contains("' + currentComponentName + '")').remove(); 

Demo

1

आपका पोस्ट किया गया jQuery कोड मेरे लिए काम करता है, जब तक कि मैं आपके चयन के विकल्पों में से एक होने के लिए currentComponentName परिभाषित करता हूं। Aron Rotteveel का जवाब बहुत करीब है, लेकिन संलग्न हिस्सा थोड़ा सा है, इसे आजमाएं:

$('select.componentSelect').each(function() { 
    $(this).append('<option value="foo">Bar</option>'); 
}); 
संबंधित मुद्दे