1

I've thoroughly looked for an answer but everything seems to only give me half of what I need, which is how I managed to get this started. What I'm trying to do is enable a dropdown menu when a checkbox is checked, but keep it disabled otherwise. I'm not really sure how to call the function in the tag, but then again i'm not really sure it's working.

function .onCheckChange() {
    if ($("#partoption2").is(':checked')) {
        $("#parttwoqty").attr('disabled', 'disabled');
        $("#partoption2").val("TRUE");
    } else {
        $("#parttwoqty").attr('disabled');
        $("#partoption2").val("FALSE");
    }
}

This is the fiddle: http://jsfiddle.net/xjn3Q/1/

Thanks!

4

3 回答 3

0

我已经修改了你的小提琴,你可以在这里看到结果http://jsfiddle.net/xjn3Q/9/

var $checkBox = $('#partoption2'),
$select = $('#parttwoqty');


$checkBox.on('change',function(e){
if ($(this).is(':checked')){
    $select.removeAttr('disabled');
}else{
   $select.attr('disabled','disabled');
}

});

于 2013-02-26T17:59:18.430 回答
0

功能是正确的,但名称不正确。此外,如果您使用的是 jQuery,则不应onchange直接在 html 标签上使用该属性。

在您的小提琴中,在包含 jQuery 库(1.8+)之后,将 JS 更改为此作品。要考虑的另一件事是使用 ofprop而不是attr

$(function(){
  $("#partoption2").on('change',function() {
    if (!$(this).is(':checked')) {
      $("#parttwoqty").prop('disabled', 'disabled');
    } else {
      $("#parttwoqty").prop('disabled', false);
    }
  });
});

也许您需要先禁用选择,以便在选中复选框之前它显示为禁用,$("#parttwoqty").prop('disabled', 'disabled');在该$(function(){行之后添加以执行此操作。

于 2013-02-26T17:56:10.870 回答
0

您的代码存在多个问题,但我只会解决使此示例有效的问题。

首先,在您的 jsFiddle 中,您使用的是 jQuery,但从不加载它(在左侧)。

其次,既然您使用的是 jQuery,为什么不使用 jQuery 点击处理程序,如下所示:

$('#partoption2').click(function () {
    if ($("#partoption2").is(':checked')) {
        $("#parttwoqty").attr('disabled', 'disabled');
        $("#partoption2").val("TRUE");
    } else {
        $("#parttwoqty").attr('disabled', false);
        $("#partoption2").val("FALSE");
    }
});
于 2013-02-26T17:57:00.787 回答