按文本选择选项

时间:2013-03-26 21:04:59

标签: jquery

我无法将我的选择设置为通过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');

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

2 个答案:

答案 0 :(得分:3)

您可以使用:contains

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

.filter()

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

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

答案 1 :(得分:0)

您应该使用利用jQuery's :contains() Selector

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

这是 jsFiddle demo