jQuery चयन से विकल्पों को हटा दें


221

मेरे पास 5 चयनों वाला एक पृष्ठ है जिसमें सभी का एक वर्ग नाम 'ct' है। मुझे ऑन्कलिक ईवेंट चलाते समय प्रत्येक चयन से 'X' के मान के साथ विकल्प को हटाने की आवश्यकता है। मेरा कोड है:

$(".ct").each(function() {
    $(this).find('X').remove();
   });

मुझसे कहां गलती हो रही है?


यह काम अच्छी तरह से: $('select').children('option[value="X"]').remove();
। '

जवाबों:


451

इसे इस्तेमाल करे:

$(".ct option[value='X']").each(function() {
    $(this).remove();
});

या और अधिक निपुण होने के लिए, यह भी काम करेगा:

$(".ct option[value='X']").remove();

1
इसने मेरे लिए काम किया। धन्यवाद। इसे चयनित मान = '' के साथ .ct पर सीमित करने के लिए क्या है?
user135498

2
यह सबसे आसान है यदि आपको मूल्य जानने की आवश्यकता नहीं है। उदाहरण के लिए पहला विकल्प $ ("# सहयोगी") [0] [0] .remove () हटाना;
लादियू

55
$('.ct option').each(function() {
    if ( $(this).val() == 'X' ) {
        $(this).remove();
    }
});

या केवल

$('.ct option[value="X"]').remove();

मुख्य बिंदु यह है कि findएक चयनकर्ता स्ट्रिंग लेता है, इसे खिलाकर xआप नामित तत्वों की तलाश कर रहे हैं x


5
+1 मैं की तरह इस जवाब मुझे लगता है कि इसके बेहतर क्योंकि मैं की तरह या के हिस्से के रूप 'एक्स' का परीक्षण कर सकते valueके लिए <select>तत्व
शरीफ

1
मैंने इस उत्तर का उपयोग किया क्योंकि मुझे वैल = 0. के अलावा सभी विकल्पों को हटाना पड़ा! मैंने इस्तेमाल किया! = 0 और आकर्षण की तरह काम किया :)
लक्ष्मण पिलका

31

find()एक चयनकर्ता लेता है, एक मूल्य नहीं। इसका मतलब है कि आपको इसे उसी तरह से उपयोग करने की आवश्यकता है जिस तरह से आप नियमित jQuery फ़ंक्शन ( $('selector')) का उपयोग करेंगे ।

इसलिए आपको ऐसा कुछ करने की आवश्यकता है:

$(this).find('[value="X"]').remove();

JQuery देखें खोज डॉक्स।


1
इस मामले में बहुत बेहतर है जहाँ आप परिशिष्ट में एक चर पास कर रहे हैं
२ust

3

यह विकल्प टैग या टेक्स्ट फ़ील्ड पर काम करता है:

$("#idname option[value='option1']").remove();

1

यदि आपकी ड्रॉपडाउन एक तालिका में है और आपके पास इसके लिए आईडी नहीं है, तो आप निम्न jquery का उपयोग कर सकते हैं:

var select_object = purchasing_table.rows[row_index].cells[cell_index].childNodes[1];
$(select_object).find('option[value='+site_name+']').remove();

1

Jquery <1.8 के लिए आप उपयोग कर सकते हैं:

$('#selectedId option').slice(index1,index2).remove()

चुनिंदा विकल्पों की एक विशिष्ट सीमा को हटाने के लिए।


1

जब मैंने सिर्फ एक हटा दिया था विकल्प दृश्य पर ddl में बना रहा, लेकिन HTML में गया था (यदि आप पृष्ठ का निरीक्षण करते हैं)

$("#ddlSelectList option[value='2']").remove(); //removes the option with value = 2
$('#ddlSelectList').val('').trigger('chosen:updated'); //refreshes the drop down list

1

एक सूची का उपयोग करना और एक खोज का उपयोग करके कई आइटम निकालना। प्रतिक्रिया में पूर्णांकों की एक सरणी होती है। $ ('# OneSelectList') एक चयनित सूची है।

$.ajax({
    url: "Controller/Action",
    type: "GET",
    success: function (response) {
        // Take out excluded years.
        $.each(response, function (j, responseYear) {
            $('#OneSelectList').find('[value="' + responseYear + '"]').remove();
        });
    },
    error: function (response) {
        console.log("Error");
    }
});
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.