2013-03-26 46 views
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'); 

其多數民衆贊成給我的麻煩最後一行,我想基於文本選擇該選項

+0

不能使用這樣的選擇。他們無法看到元素的內容,只有它的屬性 – Jivings 2013-03-26 21:06:51

+0

@Jivings:jQuery具有':contains()'選擇器。 – Blender 2013-03-26 21:07:59

+0

@Blender哦,是的,你說得對。 – Jivings 2013-03-26 21:09:32

回答

3

你可以使用:contains

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

或者.filter()

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

:contains會匹配News,所以我會用.filter()

+0

prop()也許,否則+1爲過濾器? – adeneo 2013-03-26 21:10:43

+0

http://jsfiddle.net/wycLZ/1/ – karim79 2013-03-26 21:10:55

+0

@ karim79:我不知道'text'屬性,謝謝。 – Blender 2013-03-26 21:12:44