2012-12-11 44 views
2

禁用基於期權的關鍵字沒有選擇的選擇我有這樣的HTML選擇代碼:jQuery的 - 通過值

​<select name="loc_code"> 
    <option value="">Select</option> 
    <option value="loc1">Loc1 status ON</option> 
    <option value="loc2">Loc2 status ON</option> 
    <option value="loc3">Loc3 status OFF</option> 
    <option value="loc4">Loc4 status ON</option> 
</select>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

所以,我有一個基於文本的名稱不是值問題禁用選項的下拉菜單。我只需要禁用包含關閉狀態的選項。

我試圖從修改的StackOverflow其他張貼類似的問題這jQuery代碼,但很明顯這是錯誤的:

$("select[name="loc_code"] option:selected").text(function() { 
    var $thisOption = $(this); 
    var valueToCompare = "OFF"; 

    if($thisOption.val() == valueToCompare) { 
    $thisOption.attr("disabled", "disabled"); 
    } 
});​ 

任何幫助是極大的讚賞。

+1

你是一個包裝的d內部的雙引號第一行有雙引號,這可能是你的問題嗎? – Jason

回答

6

爲什麼不這樣做:

$('select[name=loc_code] option').each(function() { 
    if ($(this).text().indexOf('OFF') >= 0) $(this).attr('disabled', 'disabled'); 
});​ 

jsFiddle example

+4

完美,它的作品。非常感謝。我不禁止讓人驚訝,有些人能夠很快寫代碼,我不得不花費數小時,無法弄清楚,然後尋求幫助。 – crashtestxxx

+1

我很高興能夠提供幫助。 – j08691

+1

匿名懦夫downvoter關心評論? – j08691