选择菜单具有值时禁用复选框

时间:2012-02-03 16:23:24

标签: javascript jquery select checkbox

我有一个包含大约四个选项的选择菜单。选择菜单的第一个选项没有值。其他选项有价值。当用户选择具有值的选项时,我需要禁用该复选框,否则,如果他们返回带有空白值的选项,则会重新启用该复选框。

下面的代码成功禁用了复选框,但我希望当用户点击选择菜单的第一个空白选项时重新启用该复选框。

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

2 个答案:

答案 0 :(得分:1)

声明说

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

逐字检查选中的值字符串是否为“first-child”,而不是它是否是第一个孩子。只需将其设置为空白

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

如果你想检查它是否是第一个选项(不是它是否为空),那么你可以将第一个孩子的val与所选元素的val进行比较

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

答案 1 :(得分:1)

您的意思是说:“当用户点击选择菜单的第一个 -blank选项时,我希望重新启用该复选框。”

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