jQuery - 通过文本描述设置选择控件的选定值

2024-02-16

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

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

我知道按值设置它非常简单。例如

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

但我对通过文字描述来做到这一点感到有点困惑。我想一定有办法从文本描述中获取价值,但我的大脑太周五下午了,无法解决这个问题。


按 jQuery v1.6+ 的描述选择

var text1 = 'Two';
$("select option").filter(function() {
  //may want to use $.trim in here
  return $(this).text() == text1;
}).prop('selected', true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select>
  <option value="0">One</option>
  <option value="1">Two</option>
</select>

1.6 以下且大于或等于 1.4 的 jQuery 版本 https://stackoverflow.com/a/3644500/31532

var text1 = 'Two';
$("select option").filter(function() {
  //may want to use $.trim in here
  return $(this).text() == text1;
}).attr('selected', true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>

<select>
  <option value="0">One</option>
  <option value="1">Two</option>
</select>

请注意,虽然此方法适用于 1.6 以上但低于 1.9 的版本,但自 1.6 以来已被弃用。它不管用 https://stackoverflow.com/questions/14366220/optionselected-not-working-jquery-1-9在 jQuery 1.9+ 中。


之前的版本

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

$('select').val('1'); // selects "Two"
$('select').val('Two'); // also selects "Two"
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>

<select>
  <option value="0">One</option>
  <option value="1">Two</option>
</select>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery - 通过文本描述设置选择控件的选定值 的相关文章

随机推荐