Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 复选框事件未触发_Jquery - Fatal编程技术网

Jquery 复选框事件未触发

Jquery 复选框事件未触发,jquery,Jquery,我使用的是一个jquery数据表,其中一列是复选框。因此,选择它时,更改事件不会触发。。这是我的密码 $("#divAddDocument").on("change", $("input[id*='addDocCheckbox_']"), function (e) { var checkboxId = e.target.id; var _index = checkboxId.substring(checkboxId.lastIndexOf('_') + 1, checkboxId

我使用的是一个jquery数据表,其中一列是复选框。因此,选择它时,更改事件不会触发。。这是我的密码

$("#divAddDocument").on("change", $("input[id*='addDocCheckbox_']"), function (e) {
    var checkboxId = e.target.id;
    var _index = checkboxId.substring(checkboxId.lastIndexOf('_') + 1, checkboxId.length);
    _docUpload.DmsDocumentsList[_index].IsGridItemSelected = true;
    if (_docUpload.IsCorrespondence) {
        $("input[id*='addDocCheckbox_']").each(function () {
            if (checkboxId != $(this).id) {
                $(this).prop("disabled", true);
                $(this).prop("checked", false);
                var _counter = $(this).id.substring($(this).id.lastIndexOf('_') + 1, $(this).id.length);
                _docUpload.DmsDocumentsList[_counter].IsGridItemSelected = false;
            }
        });
    }
});
-------------数据表列-------------------

var columns = [
        {
            "data": "", "width": "25%", "name": "Add", "title": "Add", "orderable": false,
            render: function (data, type, row) {
                return '<input type="checkbox" name="Checkbox" class="addDocCheckBox" id="addDocCheckbox_' + row["Counter"] + '">'
            }
        },
        { "data": "DocumentType", "width": "25%", "name": "Document Type", "title": "Document Type", "orderable": false },
        { "data": "IndividualName", "width": "25%", "name": "Name", "title": "Name", "orderable": false },
        { "data": "UploadDateTime", "width": "25%", "name": "Upload Date/Generated", "title": "Upload Date/Generated", "orderable": false }
];
var列=[
{
“数据”:“宽度”:“25%”,“名称”:“添加”,“标题”:“添加”,“可订购”:false,
呈现:函数(数据、类型、行){
返回“”
}
},
{“数据”:“文档类型”,“宽度”:“25%”,“名称”:“文档类型”,“标题”:“文档类型”,“医嘱内容”:false},
{“data”:“IndividualName”,“width”:“25%”,“name”:“name”,“title”:“name”,“orderable”:false},
{“数据”:“UploadDateTime”,“宽度”:“25%”,“名称”:“上载日期/生成”,“标题”:“上载日期/生成”,“医嘱内容”:false}
];

非常感谢您的帮助。

主要问题是您需要在委托事件处理程序中提供字符串作为
on()
的第二个参数,而不是当前的jQuery对象。后者不起作用,因为当您尝试选择元素时,该元素在DOM中不存在,因此jQuery对象为空。以下是一个固定版本:

$("#divAddDocument").on("change", "input[id*='addDocCheckbox_']", function(e) {
  // your code...
});
另一个问题是重复使用
$(this).id
id
不是jQuery对象的属性,因此它总是返回
undefined

要解决此问题,请使用元素本身的
id
属性:

this.id
或者使用
prop()
方法通过jQuery获取属性:

$(this).prop('id')
以下是您的逻辑的完全更新版本:

$('#divAddDocument')。在('change','input[id*=“addDocCheckbox”]”上,函数(e){
var_index=this.id.split(“_”)[1];
_docUpload.DmsDocumentsList[\u index].IsGridItemSelected=true;
if(_docUpload.IsCorrespondence){
$('input[id*='ADDDOCHECKBOX_“]')。每个(函数(){
if(checkboxId!=此.id){
this.disabled=true;
此项检查=错误;
var_counter=this.id.split(“_”)[1];
_docUpload.DmsDocumentsList[\u计数器].IsGridItemSelected=false;
}
});
}

});主要问题是需要在委托事件处理程序中提供字符串作为
on()
的第二个参数,而不是当前的jQuery对象。后者不起作用,因为当您尝试选择元素时,该元素在DOM中不存在,因此jQuery对象为空。以下是一个固定版本:

$("#divAddDocument").on("change", "input[id*='addDocCheckbox_']", function(e) {
  // your code...
});
另一个问题是重复使用
$(this).id
id
不是jQuery对象的属性,因此它总是返回
undefined

要解决此问题,请使用元素本身的
id
属性:

this.id
或者使用
prop()
方法通过jQuery获取属性:

$(this).prop('id')
以下是您的逻辑的完全更新版本:

$('#divAddDocument')。在('change','input[id*=“addDocCheckbox”]”上,函数(e){
var_index=this.id.split(“_”)[1];
_docUpload.DmsDocumentsList[\u index].IsGridItemSelected=true;
if(_docUpload.IsCorrespondence){
$('input[id*='ADDDOCHECKBOX_“]')。每个(函数(){
if(checkboxId!=此.id){
this.disabled=true;
此项检查=错误;
var_counter=this.id.split(“_”)[1];
_docUpload.DmsDocumentsList[\u计数器].IsGridItemSelected=false;
}
});
}

});
可能您应该使用
$(this).attr('id')而不是$(this).id
可能您应该使用
$(this).attr('id')而不是$(this).id