Tengo un elemento seleccionado envuelto por un elemento span. No estoy autorizado a usar la identificación de selección, pero puedo usar la identificación de span. Estoy tratando de escribir una función javascript/jquery en la cual 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 relevante a seleccionada.jQuery selecciona elementos de opción por valor
<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>
Yo he escrito de la siguiente manera (esto no funciona por completo, por lo que 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!
¡Gracias! Técnica maravillosa! – rapt