我正在尝试使用jquery val()在选择下拉菜单上设置所选属性。我只有我想要选中的元素的标题(也就是innerhtml),而不是值。 例如:
状态下拉。我希望选择“纽约”选项。我想编写一个
的jquery语句$("#pull-down").val([get value of the option tag which has "New York" as its innerhtml])
这可能吗?
答案 0 :(得分:3)
您可以使用filter
方法。
$("#pull-down").val(function(){
return $('#selectElement option').filter(function(){
return $(this).text() === 'New York';
}).val();
});
如果#pull-down
是select元素且包含New York
的option元素是其中的子元素,则可以使用prop
方法。
$('#pull-down option').filter(function(){
return $(this).text() === 'New York';
}).prop('selected', true);
答案 1 :(得分:3)
将#pull-down
的值设置为包含“纽约”的<option>
的值。区分大小写。
$("#pull-down").val($("option:contains('New York')").val());
答案 2 :(得分:1)
喜欢这个? - http://jsfiddle.net/RkBd2/
<select name="states">
<option></option>
<option value="NY">New York</option>
<option value="TX">Texas</option>
</select>
$('select[name="states"]').val('TX');
将导致下降显示德克萨斯州。
答案 3 :(得分:0)
如果您尝试选择具有给定值的选择选项(在本例中为somevalue),请执行以下操作:
$('#pull-down option[value="somevalue"]').select();