¿Cómo puedo, usando JQuery, verificar si un valor pertenece a la lista desplegable o no?Verificar si el valor está en la lista de selección con JQuery
Respuesta
Uso del Attribute Equals Selector
var thevalue = 'foo';
var exists = 0 != $('#select-box option[value='+thevalue+']').length;
Si el valor de la opción se establece a través de Javascript, que no va a funcionar. En este caso, podemos hacer lo siguiente:
var exists = false;
$('#select-box option').each(function(){
if (this.value == 'bar') {
exists = true;
return false;
}
});
En caso de que (u otra persona) podría estar interesado en hacerlo sin 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;
}
Aquí es otra opción similar. En mi caso, estoy verificando valores en otro cuadro a medida que construyo una lista de selección. Seguí corriendo en valores indefinidos cuando se compararía, así que me puse mi cheque de esta manera:
if ($("#select-box option[value='" + thevalue + "']").val() === undefined) { //do stuff }
tengo ni idea de si este enfoque es más caro.
¿Por qué no utilizar un filtro?
var thevalue = 'foo';
var exists = $('#select-box option').filter(function(){ return $(this).val() == thevalue; }).length;
comparaciones sueltas funcionan porque existe> 0 es cierto, existe == 0 es falso, por lo que sólo se pueden utilizar
if(exists){
// it is in the dropdown
}
O combinarlo:
if($('#select-box option').filter(function(){ return $(this).val() == thevalue; }).length){
// found
}
o cuando cada El menú desplegable de selección tiene la clase select-boxes esto le dará un objeto jquery de la selección (es) que contiene el valor:
var matched = $('.select-boxes option').filter(function(){ return $(this).val() == thevalue; }).parent();
Esta es la forma más intuitiva. – Simon
if(!$('#select-box').find("option:contains('" + thevalue + "')").length){
//do stuff
}
- 1. Determinando si el valor enum está en la lista (C#)
- 2. Cómo comprobar si el valor está en la lista
- 3. Verificar si el artículo está en una lista (Lisp)
- 4. En JQuery, ¿cómo puedo verificar si el DOM está listo?
- 5. ¿Cómo verificar si jQuery datepicker está vacío?
- 6. JQuery Autocompletar verificar el valor seleccionado
- 7. ¿Cómo verificar si el documento está listo?
- 8. alternativa para verificar, si un valor está en un conjunto
- 9. jQuery valor de cambio de lista de selección
- 10. selección clara de la lista de botones con jquery
- 11. Cómo verificar si un valor de matriz profunda está presente
- 12. Verificar si un valor está definido en una Cum?
- 13. JS jQuery - comprobar si el valor está en serie
- 14. valor está en la lista de enumeración
- 15. establecer el valor predeterminado en la lista desplegable con jQuery
- 16. Cómo verificar si existe un valor en el cuadro de selección
- 17. MVC - Establecer el valor seleccionado de la Lista de selección
- 18. ¿Manera fácil de verificar si el artículo está en la lista?
- 19. Un liner para verificar si el elemento está en la lista
- 20. ¿Lista como menú desplegable de selección con jQuery?
- 21. Autocompletar JQuery: cómo forzar la selección de la lista (teclado)
- 22. ¿Cómo puedo verificar si una lista está ordenada?
- 23. ¿Puedo verificar si el iPhone está acoplado?
- 24. si el valor está entre dos números
- 25. ¿Cómo puedo verificar si un complemento jQuery está cargado?
- 26. Verificar si el elemento está siendo animado CSS3
- 27. Cómo verificar si la alarma está configurada
- 28. Verificar si datepicker está abierto
- 29. Verificar si Solidworks está instalado?
- 30. jQuery-Opción de lista de selección hover
El segundo enfoque explícito es también más seguro, ya que permite valores de las opciones que contienen cualquier carácter, incluyendo '] 'y' '\\. Evite crear cadenas de selector a partir de texto en bruto sin hacer un escape de CSS adecuado. – bobince
¿Por qué el 'return false'? –
Devolver falso se utiliza para romper/finalizar cada ciclo. – Angel