Set selected using jQuery
Pergunta
I'm trying to change the selected option within this list.. Its only working for some and not others?
selectedVal will either be Kelly Green, Navy etc...
var selectedVal = $(this).text();
$("#product-variants-option-0 option[text=" + selectedVal+"]").attr("selected","selected") ;
This is the select list:
<select class="single-option-selector" id="product-variants-option-0">
<option value="Gunmetal Heather">Gunmetal Heather</option>
<option value="Kelly Green">Kelly Green</option>
<option value="Navy">Navy</option>
</select>
Solução
Use value attribute instead of text in your selector. i.e:
$("#product-variants-option-0 option[value=" + selectedVal+"]").attr("selected","selected") ;
Outras dicas
There's a much simpler way to set the selected option of a <select>
element.
Just call jQuery's .val()
method against the <select>
itself:
$("#product-variants-option-0").val( selectedVal );
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow