2012-02-03 62 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