Tengo un elemento de selección envuelto por un elemento de intervalo. No se me permite usar la identificación de selección, pero se me permite usar la identificación de intervalo. Estoy tratando de escribir una función javascript / jquery en la que la entrada es un número i, que es uno de los valores de las opciones de selección. La función cambiará la opción correspondiente a seleccionada.
<span id="span_id">
<select id="h273yrjdfhgsfyiruwyiywer" multiple="multiple">
<option value="1">cleaning</option>
<option value="2">food-2</option>
<option value="3">toilet</option>
<option value="4">baby</option>
<option value="6">knick-knacks</option>
<option value="9">junk-2</option>
<option value="10">cosmetics</option>
</select>
</span>
Escribí algo de la siguiente manera (esto no funciona completamente, por eso estoy publicando esta pregunta):
function select_option(i) {
options = $('#span_id').children('select').children('option');
//alert(options.length); //7
//alert(options[0]); //[object HTMLOptionElement]
//alert(options[0].val()); //not a jquery element
//alert(options[0].value); //1
//the following does not seem to work since the elements of options are DOM ones not jquery's
option = options.find("[value='" + i + "']");
//alert(option.attr("value")); //undefined
option.attr('selected', 'selected');
}
¡Gracias!
fuente
i
, seleccione el ioption
en elselect
. OP no estaba tratando de filtrar las opciones.Para obtener el valor, simplemente use esto:
esto buscará los valores
fuente
fuente
fuente