我正在尝试使用 jquery val() 在下拉选择中设置 selected 属性。我只有我想要选择的元素的标题(又名 innerhtml),但没有值。例如:
状态的下拉。我希望选择“纽约”选项。我想写一个 jquery 语句
$("#pull-down").val([get value of the option tag which has "New York" as its innerhtml])
这可能吗?
我正在尝试使用 jquery val() 在下拉选择中设置 selected 属性。我只有我想要选择的元素的标题(又名 innerhtml),但没有值。例如:
状态的下拉。我希望选择“纽约”选项。我想写一个 jquery 语句
$("#pull-down").val([get value of the option tag which has "New York" as its innerhtml])
这可能吗?
你可以使用filter
方法。
$("#pull-down").val(function(){
return $('#selectElement option').filter(function(){
return $(this).text() === 'New York';
}).val();
});
如果这#pull-down
是一个选择元素并且包含的选项元素是New York
它的子元素,则可以使用prop
方法。
$('#pull-down option').filter(function(){
return $(this).text() === 'New York';
}).prop('selected', true);
将值设置为#pull-down
包含<option>
“纽约”的值。区分大小写。
$("#pull-down").val($("option:contains('New York')").val());
像这样?- 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');
将导致下拉显示德克萨斯。
如果您尝试选择具有给定值的选择选项(在本例中为某个值),请执行以下操作:
$('#pull-down option[value="somevalue"]').select();