2012-02-03 63 views
0

我有大約四個選項的選擇菜單。選擇菜單的第一個選項沒有值。其他選項具有值。當用戶選擇具有價值的選擇,我需要禁用的複選框,否則,如果他們回到與空白值的選項,重新啓用的複選框。禁用複選框,當選擇菜單具有價值

下面的代碼成功禁用的複選框,但我想重新啓用該複選框,當用戶點擊選擇菜單的第一個空白選項。

$(document).ready(function(){ 
$('#select-menu').change(function() { 
    if ($(this).val() !== ':first-child') { 
     $("#related-checkbox").attr("disabled", true); 
    } else { 
    $("#related-checkbox").attr("disabled", false); 
      } 
}); 
}); 

回答

1

聲明說

if ($(this).val() !== ':first-child') { 

字面上檢查,如果選擇的值字符串爲「第一子」,不在於它是第一個孩子。只要將它設置爲空白

if ($(this).val() !== '') { 

如果你想檢查是否是第一個選項(不在於它是空白的),那麼你可以第一個孩子的VAL比較所選元素的VAL

if ($(this).val() == $(this).children(':first-child').val()) 
+0

感謝mrtsherman,這個工作。真的很感謝幫助。 – mrtonyb 2012-02-03 17:19:56

1

你的意思是說:「我要重新啓用該複選框,當用戶點擊第一 -blank選擇菜單中的選項。」?

$("#related-checkbox").removeAttr("disabled"); 
+0

是的,這就是我需要做的。感謝您的建議,我現在就試試。 – mrtonyb 2012-02-03 16:31:35

+0

mrtsherman是對你的條件。將IF部分改爲他所說的。 – 2012-02-03 16:33:04