jQuery seçenekleri seçimden kaldır


222

5 Seçilmiş bir sayfa var tüm sınıf adı 'ct' var. Bir onclick olayı çalışırken her seçim 'X' değeri olan seçeneği kaldırmak gerekir. Kodum:

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

Nerede yanlış gidiyorum?


Bu iyi çalışıyor: $('select').children('option[value="X"]').remove();
瑲 瑲

Yanıtlar:


452

Bunu dene:

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

Ya da daha keskin olmak gerekirse, bu da işe yarayacak:

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

1
Bu benim için çalıştı. Teşekkürler. Seçili bir değer = '' ile bunu .ct ile sınırlayacak sistem sayısı nedir?
user135498

2
Değeri bilmeniz gerekmiyorsa, bu en kolayıdır. Örneğin, ilk seçeneği kaldırmak $ ("# affiliate") [0] [0] .remove ();
ladieu

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

Ya da sadece

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

Ana nokta, findbir seçici dize alır, onu besleyerek xadlandırılmış öğeleri arıyorsunuz x.


5
1 i gibi bence bu cevabı onun daha iyi i gibi veya bir kısmı olarak 'X' test edebilirsiniz çünkü valueiçin <select>eleman
Shareef'ten

1
Val = 0 dışındaki tüm seçenekleri kaldırmak zorunda kaldığım için bu cevabı kullandım! = 0 kullandım ve çekicilik gibi çalıştım :)
Lakshman Pilaka 19:15

31

find()bir değer değil, bir seçici alır. Bu, normal jQuery işlevini ( $('selector')) kullandığınız gibi kullanmanız gerektiği anlamına gelir .

Bu nedenle böyle bir şey yapmanız gerekir:

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

JQuery bulma belgelerine bakın .


1
eke

3

Seçenek etiketi veya metin alanında çalışır:

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

1

açılır listeniz bir tabloda bulunuyorsa ve bunun için bir kimliğiniz yoksa aşağıdaki jquery'yi kullanabilirsiniz:

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 için şunları kullanabilirsiniz:

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

belirli bir seçenek aralığını kaldırmak için.


1

Ben sadece bir kaldırma yaptığınızda seçeneği görünümünde ddl kaldı, ama html gitti (u incelemek sayfa)

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

1

Bir listeyi yineleme ve bulma özelliğini kullanarak birden çok öğeyi kaldırma. Yanıt bir tamsayı dizisi içerir. $ ('# OneSelectList') bir seçim listesidir.

$.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");
    }
});
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.