Javascript 如何通过目标值而不是索引设置选择选项的属性

Javascript 如何通过目标值而不是索引设置选择选项的属性,javascript,select,attributes,option,Javascript,Select,Attributes,Option,当用户单击一个特定的div(在我的例子中是一个样例调色板)时,我需要单击以将选择列表中某个选项的“selected”属性设置为“selected”。当我可以通过其索引将选项作为目标时,这就起作用了,如下所示: onClick="getElementById('the_select') .options[2].setAttribute('selected', 'selected');" onClick="getElementById('the_select')

当用户单击一个特定的div(在我的例子中是一个样例调色板)时,我需要单击以将选择列表中某个选项的“selected”属性设置为“selected”。当我可以通过其索引将选项作为目标时,这就起作用了,如下所示:

onClick="getElementById('the_select')
         .options[2].setAttribute('selected', 'selected');"
 onClick="getElementById('the_select')
         .option[value='blue'].setAttribute('selected', 'selected');"
document.getElementById("my_select").selected=true;
但是,当我试图通过其值来确定选项的目标时,这不起作用,如下所示:

onClick="getElementById('the_select')
         .options[2].setAttribute('selected', 'selected');"
 onClick="getElementById('the_select')
         .option[value='blue'].setAttribute('selected', 'selected');"
document.getElementById("my_select").selected=true;
我需要以值为目标,因为在这种情况下,“蓝色”并不总是在选择列表中的相同位置


我怎样才能做到这一点?

我想你可以这样做:

onClick="getElementById('the_select')
         .options[2].setAttribute('selected', 'selected');"
 onClick="getElementById('the_select')
         .option[value='blue'].setAttribute('selected', 'selected');"
document.getElementById("my_select").selected=true;

我发现了一个可行的解决方案,基于Dave在这个线程上的一篇文章,使用了纯javascript


我尝试了类似的方法,但出于某种原因,我们的购物车系统希望设置“selected”属性,否则它不会认为用户实际选择了任何东西;工作正常,不要使其过于复杂。@gibsonman507 jQuery是一种可能。@dandavis我希望它这么简单,但为了让购物车识别已做出选择,似乎我需要为该选项设置“selected”属性。