2013-07-06 103 views
0

我需要使用JQuery選擇選項17我不能使用值,因爲它總是不同的。 那麼是否有任何解決方案使用數量的「選擇」孩子或somthing? 謝謝。如何使選擇的標籤選擇在jQuery中選擇無值

<select name="size" id="size"> 
    <option value="1430">17</option> 
    <option value="1429">19</option> 
    <option value="1428">20</option> 
    <option value="1427">16</option> 
    <option value="1426">15</option> 
    <option value="1425">18</option> 
</select> 

回答

3

可以使用:contains() selector

$("#size").find("option:contains(17)").prop("selected",true); 

雖然這會拿起文字像1117了。所以,你可以使用.filter()(含或有$.trim()):

$("#size option").filter(function() { 
    return $.trim($(this).text()) === "17"; 
}).prop("selected", true); 

還是不錯的老.each()循環會讓你爲你找到匹配的項目,一旦停下來,所以它的混亂比.filter()但更有效:

$("#size option").each(function() { 
    if ($.trim($(this).text()) === "17") { 
     $(this).prop("selected", true); 
     return false; 
    } 
}); 
+1

問題是,如果有一個選項117,171等出現在這個值17的選項 – PSL

+1

@PSL - 是的,我只是在編輯... ... – nnnnnn

4
$('select[name="size"] option').each(function() { 
    if($(this).text() == '17') { 
     $(this).prop('selected', true); 
    } 
}); 
0

jQuery讓開發者的生活如此簡單:)

var setstatus=17; 
$("#size option:contains(" + setstatus + ")").attr('selected', 'selected');