jQuery - 通过文本描述设定下拉框控件的选定值。

29 浏览
0 Comments

jQuery - 通过文本描述设定下拉框控件的选定值。

我有一个选择控件,在javascript变量中有一个文本字符串。

使用jQuery,我想将选择控件的选定元素设置为我拥有的文本说明项(而不是我没有的值)。

我知道按值设置它相当简单。例如:

$("#my-select").val(myVal);

但是我对通过文本说明进行设置有点困惑。我猜一定有一种从文本说明中获取值的方法,但我的大脑已经太疲惫了,不能想出来。

admin 更改状态以发布 2023年5月23日
0
0 Comments

我没有测试过,但这可能适合你。

$("select#my-select option")
   .each(function() { this.selected = (this.text == myVal); });

0
0 Comments

为 jQuery v1.6+ 按描述选择

var text1 = 'Two';
$("select option").filter(function() {
  //may want to use $.trim in here
  return $(this).text() == text1;
}).prop('selected', true);



jQuery 版本低于 1.6 且大于等于 1.4

var text1 = 'Two';
$("select option").filter(function() {
  //may want to use $.trim in here
  return $(this).text() == text1;
}).attr('selected', true);



请注意,虽然这种方法可以在版本高于 1.6 但低于 1.9 的情况下工作,但此方法自 1.6 版本开始已被弃用。在 jQuery 1.9+ 中 将不起作用


早期版本

val() 应该处理两种情况。

$('select').val('1'); // selects "Two"
$('select').val('Two'); // also selects "Two"



0