我的选择字段如下。
<select id="mySelect1">
<option value="-1">select</option>
<option value="1">Node-Red</option>
<option value="2">Node</option>
<option value="2">Node-JS</option>
</select>
注意:两个选项的值相同。
当我尝试以下链接建议时,它总是设置最终匹配值。
jQuery: Setting select list 'selected' based on text, failing strangely
示例:如果我尝试使用以下代码将下拉列表的值设置为“节点”,则它始终会在下拉列表中选择Node-JS。
$("#mySelect1 option:contains("Node")").attr("selected", true);
是否可以使用许多选项具有相同值的文本(不具有匹配值)来设置下拉值?
有什么建议吗?
答案 0 :(得分:0)
option:contains("Node")
选择器将选择包含单词Node
的所有选项,在这种情况下,没有用于选择过滤选项的完全相同文本的选择器:
$("#mySelect1 option").filter(function() {
return $(this).text() === 'Node';
}).attr('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="mySelect1">
<option value="-1">select</option>
<option value="1">Node-Red</option>
<option value="2">Node</option>
<option value="2">Node-JS</option>
</select>