是否可以使用显示文本设置下拉菜单的值?

时间:2018-09-07 15:10:06

标签: javascript jquery html-select

我的选择字段如下。

<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);

是否可以使用许多选项具有相同值的文本(不具有匹配值)来设置下拉值?

有什么建议吗?

1 个答案:

答案 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>