J'ai un élément select enveloppé par un élément span. Je ne suis pas autorisé à utiliser l'ID de sélection, mais je suis autorisé à utiliser l'ID de portée. J'essaie d'écrire une fonction javascript / jquery dans laquelle l'entrée est un nombre i, qui est l'une des valeurs des options de select. La fonction transformera l'option appropriée sur sélectionnée.
<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>
J'ai écrit quelque chose comme suit (cela ne fonctionne pas complètement, c'est pourquoi je poste cette question):
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');
}
Merci!
la source
i
, sélectionnez le ithoption
dans leselect
. OP n'essayait pas de filtrer les options.Pour obtenir la valeur, utilisez simplement ceci:
cela récupérera les valeurs
la source
la source
la source