Jak mogę sprawdzić, czy opcja już istnieje w select by JQuery?
Chcę dynamicznie dodawać opcje do select, więc muszę sprawdzić, czy opcja już istnieje, aby zapobiec duplikowaniu.
Jak mogę sprawdzić, czy opcja już istnieje w select by JQuery?
Chcę dynamicznie dodawać opcje do select, więc muszę sprawdzić, czy opcja już istnieje, aby zapobiec duplikowaniu.
Odpowiedzi:
Zwraca wartość true, jeśli już istnieje:
$("#yourSelect option[value='yourValue']").length > 0;
Inny sposób korzystania z jQuery:
var exists = false;
$('#yourSelect option').each(function(){
if (this.value == yourValue) {
exists = true;
}
});
.lengthmoże.
Pomóż mi:
var key = 'Hallo';
if ( $("#chosen_b option[value='"+key+"']").length == 0 ){
alert("option not exist!");
$('#chosen_b').append("<option value='"+key+"'>"+key+"</option>");
$('#chosen_b').val(key);
$('#chosen_b').trigger("chosen:updated");
}
});
Miałem podobny problem. Zamiast przeprowadzać wyszukiwanie w domenie za każdym razem przez pętlę dla kontrolki wyboru, zapisałem element jquery select w zmiennej i zrobiłem to:
function isValueInSelect($select, data_value){
return $($select).children('option').map(function(index, opt){
return opt.value;
}).get().includes(data_value);
}