Jak mogę, używając JQuery, sprawdzić, czy wartość należy do listy rozwijanej, czy nie?Sprawdź, czy wartość znajduje się na liście wyboru z JQuery
Odpowiedz
Użyj Attribute Equals Selector
var thevalue = 'foo';
var exists = 0 != $('#select-box option[value='+thevalue+']').length;
Jeśli wartość dana opcja została ustawiona przez JavaScript, które nie będą działać. W tym przypadku możemy wykonać następujące czynności:
var exists = false;
$('#select-box option').each(function(){
if (this.value == 'bar') {
exists = true;
return false;
}
});
Na wszelki wypadek można (lub ktoś inny) będzie zainteresowany robi to bez jQuery:
var exists = false;
for(var i = 0, opts = document.getElementById('select-box').options; i < opts.length; ++i)
if(opts[i].value === 'bar')
{
exists = true;
break;
}
Oto kolejna podobna opcja. W moim przypadku sprawdzam wartości w innym polu, ponieważ buduję listę wyboru. I biegł do wartości nieokreślone gdy Chciałbym porównać, więc mogę ustawić mój sprawdzić w ten sposób:
if ($("#select-box option[value='" + thevalue + "']").val() === undefined) { //do stuff }
nie mam pojęcia, czy takie podejście jest bardziej kosztowne.
Dlaczego nie użyć filtra?
var thevalue = 'foo';
var exists = $('#select-box option').filter(function(){ return $(this).val() == thevalue; }).length;
Luźne porównania pracy, ponieważ istnieje> 0 jest prawdziwa, istnieje == 0 jest fałszywe, więc można po prostu użyć
if(exists){
// it is in the dropdown
}
lub połączyć go:
if($('#select-box option').filter(function(){ return $(this).val() == thevalue; }).length){
// found
}
albo gdzie każdy lista rozwijana select ma klasę select-boxes, dzięki czemu otrzymasz obiekt jquery z zaznaczonymi elementami, który zawiera wartość:
var matched = $('.select-boxes option').filter(function(){ return $(this).val() == thevalue; }).parent();
To jest najbardziej intuicyjny sposób. – Simon
if(!$('#select-box').find("option:contains('" + thevalue + "')").length){
//do stuff
}
- 1. Sprawdź zmienną, jeśli znajduje się na liście
- 2. Określanie, czy wartość wyliczenia znajduje się na liście (C#)
- 3. Sprawdź, czy wartość znajduje się w tablicy (C#)
- 4. Sprawdź, czy wartość tablica znajduje się w ciąg
- 5. jQuery: Sprawdź, czy zawartość znajduje się wewnątrz elementu iframe.
- 6. XSLT: Sprawdź, czy wartość istnieje w liście
- 7. Jak sprawdzić, czy wartość znajduje się na liście w wyborze z ramki danych pand?
- 8. Sprawdź, czy ciąg znaków znajduje się na liście ciągów o wielkości 2 GB w pythonie
- 9. Sprawdź, czy podciągi znajdują się na liście ciągów znaków?
- 10. Sprawdzanie Pythona, czy obiekt znajduje się na liście obiektów
- 11. Sprawdź, czy wartość już istnieje na liście słowników?
- 12. Python: Sprawdź, czy element nie znajduje się na dwóch listach?
- 13. XPath 1.0, aby sprawdzić, czy wartość elementu znajduje się na liście wartości
- 14. Jak sprawdzić, czy wartość jest na liście?
- 15. Sprawdź pole wyboru Wyłączone (Jquery)
- 16. Jquery Sprawdź, czy wartość jest numeryczna
- 17. Sprawdź, czy klucz istnieje na liście Pythona
- 18. Mongodb: Sprawdź, czy punkt znajduje się wewnątrz zapisanego wielokąta.
- 19. Sprawdź, czy wartość mieści się w zakresie?
- 20. Sprawdź, czy pole wyboru NIE jest zaznaczone po kliknięciu - jQuery
- 21. jQuery - sprawdź, czy dane wejściowe nie są polem wyboru
- 22. Sprawdź, czy plik znajduje się w (pod) katalogu
- 23. Sprawdź, czy punkt wielokątny znajduje się wewnątrz innej ulotki
- 24. Sprawdź, czy czegoś nie ma na liście w Pythonie
- 25. Google CCS (GCM) - projekt nie znajduje się na białej liście
- 26. Sprawdź konkretny element na liście w Drools
- 27. wartość pola wyboru w jquery
- 28. JQuery select2 ustawić domyślną wartość z opcji na liście?
- 29. Radcombobox kasuje tekst, gdy nie znajduje się na liście pozycje
- 30. Dlaczego na liście List.map programu OCaml znajduje się zezwolenie?
Wyraźna Drugie podejście jest również bezpieczniejszy, ponieważ pozwala wartości opcji zawierające dowolny znak, w tym '' i '] \\'. Unikaj budowania ciągów selektora z nieprzetworzonego tekstu bez wykonywania właściwego przechodzenia CSS. – bobince
Dlaczego 'return false'? –
Powrót false służy do przerwania/zakończenia pętli .each. – Angel