【发布时间】:2013-09-05 03:19:58
【问题描述】:
简单地说,使用这个:
<select id="Test">
<option value="1">ABC</option>
<option value="2">DEF</option>
</select>
如何使用 jQuery 仅使用“DEF”来获取 option[value="2"] - 请记住我使用的是 1.8.2
谢谢!
【问题讨论】:
标签: jquery html jquery-1.8
简单地说,使用这个:
<select id="Test">
<option value="1">ABC</option>
<option value="2">DEF</option>
</select>
如何使用 jQuery 仅使用“DEF”来获取 option[value="2"] - 请记住我使用的是 1.8.2
谢谢!
【问题讨论】:
标签: jquery html jquery-1.8
试试:contains() 选择器:
$('#Test option:contains("DEF")')
请注意,:contains() 是通配符搜索。如果您需要完全匹配,我认为您只需要迭代或过滤选项并检查text()。这是一种可能性:
console.log(getOptionByText('Test', 'DEF'));
function getOptionByText(id, value) {
return $('#' + id).find('option').filter(function() {
return $(this).text() == value;
});
}
【讨论】:
<select id="Test"> <option value="1">DEFasfdas</option> <option value="2">ABC</option> <option value="3">DEF</option> </select>
如果您确定之前出现的其他选项不包含该值,您可以使用contains。请注意,contains 是通配符匹配,而不是完全匹配。相反,您可以通过这种方式进行完全匹配。
$('#Test option').filter(function () {
return this.innerHTML === 'DEF'
}).val();
【讨论】:
有帮助吗?
$( '#Test option' ).each( function() {
if ( $( this ).html() == 'DEF' ) {
alert( $( this ).val() );
}
} );
【讨论】:
$("select option:contains('ABC')")
【讨论】: