0

我无法将我的选择设置为通过 ajax 传入的一些默认值

这是一个小提琴:http: //jsfiddle.net/helto/wycLZ/

这是代码:

HTML:

<div>
<label id="conditionLabel" for="condition">Condition:</label>
<select id="condition">
    <option selected="true" style="display:none;">Choose</option>
</select>
</div>

JS:

var conditions = [{
id: 1,
name: "New"
}, {
id: 2,
name: "Good"
}, {
id: 3,
name: "Poor"
}];
$.each(conditions, function (key, value) {
var cond = '<option value="' + value.id + '">' + value.name + '</option>';
$('#condition').append(cond);
});

$('#condition option[text="New"]').attr('selected', 'selected');

最后一行给我带来了麻烦,我想根据文本选择选项

4

2 回答 2

3

你可以使用:contains

$('#condition option:contains("New")').prop('selected', true);

或者.filter()

$('#condition option').filter(function() {
    return this.text === 'New';
}).prop('selected', true);

:contains也会匹配News,所以我会选择.filter()

于 2013-03-26T21:09:45.137 回答
0

您应该使用$('#condition option:contains("New")').prop('selected', true);哪个利用jQuery 的 :contains() 选择器

这是一个jsFiddle 演示

于 2013-03-26T21:13:37.623 回答