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

24 浏览
0 Comments

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

我有一个如下所示的选择字段。


注意:我有两个选项具有相同的值。

当我尝试以下链接建议时,它总是设置最后匹配的值。

[链接](https://stackoverflow.com/questions/3644449/jquery-setting-select-list-selected-based-on-text-failing-strangely)

例如:如果我尝试使用下面的代码将下拉菜单的值设置为"Node",它总是在下拉菜单中选择"Node-JS"。

$("#mySelect1 option:contains("Node")").attr("selected", true);

所以有没有可能使用文本(而不是匹配的值)设置下拉菜单的值,即使有多个选项具有相同的值?

有什么建议吗?

0
0 Comments

问题的原因是在下拉列表中设置特定选项的值,而不是通过选项的显示文本来设置值。解决方法是使用过滤器来筛选选项,并使用attr()方法来设置选中的选项。

在以上代码中,使用了jQuery库来实现这个功能。首先通过使用option:contains("Node")选择器来选择包含"Node"的所有选项。然后使用filter()方法来过滤选项,只返回显示文本为"Node"的选项。最后使用attr()方法来将选中属性设置为true,从而选中该选项。

以下是示例的HTML代码,其中包含了一个id为"mySelect1"的下拉列表和几个选项,其中一个选项的显示文本为"Node":



通过执行以上的JavaScript代码,将会选中显示文本为"Node"的选项。

这个问题的解决方法是在下拉列表中使用filter()方法来筛选选项,并使用attr()方法将选中属性设置为true。这样就可以通过显示文本来设置选项的值了。

0