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>
Foi útil?

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
scroll top