4

我正在尝试使用 jquery val() 在下拉选择中设置 selected 属性。我只有我想要选择的元素的标题(又名 innerhtml),但没有值。例如:

状态的下拉。我希望选择“纽约”选项。我想写一个 jquery 语句

$("#pull-down").val([get value of the option tag which has "New York" as its innerhtml])

这可能吗?

4

4 回答 4

3

你可以使用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);
于 2013-02-04T21:33:53.987 回答
3

将值设置为#pull-down包含<option>“纽约”的值。区分大小写。

$("#pull-down").val($("option:contains('New York')").val());
于 2013-02-04T21:35:45.953 回答
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');

将导致下拉显示德克萨斯。

于 2013-02-04T21:33:52.483 回答
0

如果您尝试选择具有给定值的选择选项(在本例中为某个值),请执行以下操作:

 $('#pull-down option[value="somevalue"]').select();
于 2013-02-04T21:34:45.843 回答