我需要检查<select>是否有一个文本等于特定值的选项。
例如,如果有一个<option value="123">abc</option>,我将寻找"abc"。
有选择器来做这个吗?
我在寻找类似于$('#选择选项[值="123"]');除了文本。
我需要检查<select>是否有一个文本等于特定值的选项。
例如,如果有一个<option value="123">abc</option>,我将寻找"abc"。
有选择器来做这个吗?
我在寻找类似于$('#选择选项[值="123"]');除了文本。
当前回答
这对我有用:$(“#test”).find(“选项:contains('abc')”);
其他回答
我尝试了其中的一些功能,直到我找到了一个可以同时在Firefox和IE中运行的功能。这是我想到的。
$("#my-Select").val($("#my-Select" + " option").filter(function() { return this.text == myText }).val());
另一种更容易读懂的写法:
var valofText = $("#my-Select" + " option").filter(function() {
return this.text == myText
}).val();
$(ElementID).val(valofText);
伪代码:
$("#my-Select").val( getValOfText( myText ) );
之前的建议在jQuery 1.7.2中都不适用,因为我试图根据文本框中的值设置列表的选定索引,而一些文本值包含在多个选项中。我最终使用了以下方法:
$('#mySelect option:contains(' + value + ')').each(function(){
if ($(this).text() == value) {
$(this).attr('selected', 'selected');
return false;
}
return true;
});
这对我很有用
$('#mySelect option:contains(' + value + ')').attr('selected', 'selected');
这对我来说很管用:
var result = $('#SubjectID option')
.filter(function ()
{ return $(this).html() == "English"; }).val();
result变量将返回匹配文本值的索引。现在我将使用它的索引来设置它:
$('#SubjectID').val(result);
下面的jquery 1.10.2版本适合我
var selectedText="YourMatchText";
$('#YourDropdownId option').map(function () {
if ($(this).text() == selectedText) return this;
}).attr('selected', 'selected');
});