Come posso verificare se esiste già un'opzione in select di JQuery?
Voglio aggiungere dinamicamente le opzioni in select e quindi ho bisogno di verificare se l'opzione è già esistente per impedire la duplicazione.
Come posso verificare se esiste già un'opzione in select di JQuery?
Voglio aggiungere dinamicamente le opzioni in select e quindi ho bisogno di verificare se l'opzione è già esistente per impedire la duplicazione.
Risposte:
Ciò viene considerato vero se esiste già:
$("#yourSelect option[value='yourValue']").length > 0;
Un altro modo di usare jQuery:
var exists = false;
$('#yourSelect option').each(function(){
if (this.value == yourValue) {
exists = true;
}
});
.length
potrebbe fare.
Mi aiuta:
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");
}
});
Ho avuto un problema simile. Piuttosto che eseguire la ricerca attraverso la dom ogni volta che attraverso il ciclo per il controllo di selezione ho salvato l'elemento jquery select in una variabile e ho fatto questo:
function isValueInSelect($select, data_value){
return $($select).children('option').map(function(index, opt){
return opt.value;
}).get().includes(data_value);
}