2012-01-27 57 views
0

我想要做的是檢查下拉菜單是否有一個值或沒有,然後使其只讀?如何檢查下拉是否有一個值或沒有在jQuery中?

if(){ 
$('#dropdown').attr("disabled", "disabled"); 
} 


<select class="dropdown" name="dropdown" id="dropdown"> 
     <option value="L6.5">L6.5</option> 
    </select> 

<select class="dropdown" name="dropdown2" id="dropdown2"></select> 


<select class="dropinput" name="dropdown3" id="dropdown3"> 
     <option value=""></option> 
     <option value=""></option> 
</select> 

我需要所有前三名的下拉菜單禁用

+2

你說的價值是什麼意思?你可以舉一個例子,也許包括你的一些代碼。 – gideon 2012-01-27 14:43:42

+0

因此,上面的下拉列表將被設置爲只讀,因爲它只有一個選項/值 – Beginner 2012-01-27 14:44:09

+0

,您可以使用val()獲取值; http://api.jquery.com/val/#val,或使用$('#select_id')。html();並檢查是否有任何元素。 – Dev 2012-01-27 14:45:22

回答

3

根據HTML規範,在HTML的標籤select不具有隻讀屬性,只有一個殘疾屬性。試試這個,它會檢查一個或沒有選項,並相應地disable

var $dd = $('#dropdown'); 
if($dd.find('option').length <= 1){ 
    $dd.prop('disabled', true);  
} 
else{ 
    $dd.prop('disabled', false); 
} 

Demo

+0

有時下拉菜單可以有選項,但它們可能是空的 – Beginner 2012-01-27 15:00:47

+0

這使得它被禁用,即使它有多個值 – Beginner 2012-01-27 15:12:25

+0

它正在檢查'長度<= 1'應該可以正常工作。 – ShankarSangoli 2012-01-27 15:25:01

0

試試這個:

if ($('#dropdow').length < 2) { 
    $('#yourcheck').attr('checked', true); 
    $('#yourcheck').attr('readonly', true); 
} 
相關問題