复选框状态更改检测

时间:2015-09-30 12:07:25

标签: javascript jquery html

我有一个场景,我正在显示/隐藏部分屏幕,具体取决于是选中复选框还是现在。

所以这里的问题是,不仅用户将更改复选框的状态,而且还会以编程方式。

那么如何检测此更改以及何时更改复选框的状态,我希望隐藏或显示该部分。

现在我这样做......

    externalCheckBoxClicked : function (e){
        var $target = $(e.target),
          checked = $target.prop('checked');

        if(checked){
            $('#confirm-button').show();
        }else{
            $('#confirm-button').hide();
        }
    }

    setToPreviousSetValues : function(){
        if(this.requestData.isOverrideExternalParams === "1"){
            $('#ExternalParametersChkBox').prop('checked',true);
        }else {
            $('#ExternalParametersChkBox').prop('checked',false);
        }
    },

   events: {
       "change #ExternalParametersChkBox":"externalCheckBoxClicked",
    },

任何线索,为什么这不起作用。

3 个答案:

答案 0 :(得分:1)

MyGen.Generate()

答案 1 :(得分:1)

你可以尝试这个:

$(".checkbox").change(function() {
    if(this.checked) {
        //Do stuff
    }
});

您可以在此地点添加.checkbox某些Class文件或Id文件

答案 2 :(得分:0)

<input type="checkbox" id="something" />

$("#something").click( function(){
   if( $(this).is(':checked') ) alert("checked");
});

当复选框因其他原因而不是单击而更改时(例如使用键盘),此操作无法捕获。为了避免这个问题,请听取改变,而不是点击。

来源:Catch checked change event of a checkbox

以编程方式更改:Why isn't my checkbox change event triggered?