用javascript通过文本选择一个select选项
select a Select option by text with javascript
我有一个选择框和一个字符串,我将按字符串选择一个选项。例如string="Volvo",然后像这样选择框:
<select>
<option value="v1">Volvo</option>
<option value="v2">Saab</option>
<option value="v3">Mercedes</option>
<option value="v4">Audi</option>
</select>
有谁能帮帮我吗? 使用 :contains()
伪类选择器获取包含特定字符串的选项。对于更新检查的属性,使用 prop()
方法。
$('option:contains("Volvo")').prop('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option value="v1">Volvo</option>
<option value="v2">Saab</option>
<option value="v3">Mercedes</option>
<option value="v4">Audi</option>
</select>
对于精确匹配使用 filter()
方法,因为 :contains()
不检查精确匹配。
$('option').filter(function() {
// check trimmed text for filtering
return $.trim($(this).text()) == "Mercedes";
}).prop('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option value="v1">Volvo</option>
<option value="v2">Saab</option>
<option value="v3">Mercedes</option>
<option value="v4">Audi</option>
</select>
您可以使用:contains
选择器来实现这一点:
var $option = $('select option:contains("Volvo")');
或者,为值使用一个变量:
var text = 'Volvo';
var $option = $('select option:contains("' + text + '")');
或者,您可以使用filter()
来确保所需值的精确匹配:
var text = 'Volvo';
var $option = $('select option').filter(function() {
return $(this).text().trim() == text;
});
从那里你只需要设置checked
属性为true
:
$option.prop('checked', true);
相关文章:
- 在php中请求一个select选项
- 更改下一个select元素的类名
- 在js函数调用中嵌入一个select值
- 如何使用angularjs来更改另一个select标记的值
- 你能用javascript设置一个select元素的defaultSelected值吗?
- 根据AngularJS中另一个select元素的值设置选择选项
- 需要一个select标签来跨文档运行javascript
- 使用javascript使用另一个SELECT多个值更新SELECT多个列表(使用erichynds multisele
- 至少选择了一个select-option的表单验证
- 从javascript while循环中创建一个select语句
- 如何使用angular数据绑定将一个复选框绑定到一个select disabled属性
- 如何将两个范围值相加,然后乘以一个select标记
- 如何将值从一个Select更改为另一个Select
- 可以'当第一个select的值改变时,让jquery设置select输入的值
- 在AngularJS中如何根据另一个Select的选择索引来改变一个Select标签的内容
- 如何使用javascript从一个select元素运行多个函数
- 在不使用Select属性的情况下选择一个Select选项(做一个假的鼠标点击)
- 当选择不同的选择选项时,更改另一个SELECT标记的值
- 获取一个select's值,并在angularJs中更改另一个select后将其更新为一个变量
- 动态创建一个select,然后更改ajax调用以附加html