Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
Php JQuery单击多次触发的事件_Php_Jquery_Ajax - Fatal编程技术网

Php JQuery单击多次触发的事件

Php JQuery单击多次触发的事件,php,jquery,ajax,Php,Jquery,Ajax,我的代码显示了一个带有输入复选框的表,我的问题是我必须选中或取消选中每一行,并通过ajax发送代码、复选框和libelle。当我尝试单击事件时,结果会成倍增加 $(文档).on('click','droit_data',函数(){ var id_code=$(this.attr(“id”); $.ajax({ url:“droit.php”, 方法:“张贴”, 数据:{id\u code:id\u code}, 数据类型:“json”, 成功:功能(数据){ var html=''; $。每个(

我的代码显示了一个带有输入复选框的表,我的问题是我必须选中或取消选中每一行,并通过ajax发送代码、复选框和libelle。当我尝试单击事件时,结果会成倍增加

$(文档).on('click','droit_data',函数(){
var id_code=$(this.attr(“id”);
$.ajax({
url:“droit.php”,
方法:“张贴”,
数据:{id\u code:id\u code},
数据类型:“json”,
成功:功能(数据){
var html='';
$。每个(数据、函数(键、值){
html+='';
html+=''+数据[key].libelle+'';
}否则{
html+='id=“droit”>'+数据[key].libelle+'';
}
});
$(“#tab”).html(html);
$('#modelId').model(“show”);
}
});
$(文档).on('click','.droit',函数(){
var check=$(this.prop('checked');
var libel=$(this.attr('name');
$.ajax({
url:“droit_save.php”,
方法:“张贴”,
数据:{check:check,id_代码:id_代码,诽谤:诽谤},
成功:功能(数据){
警报(数据);
}
});
});
});

如果多次单击
.droit\u data
,它将注册
。droit
多次单击。尝试将
.droit
事件注册移动到
.droit\u数据
事件处理程序范围之外

注意
id\u code
将不在
的范围内。droit
单击,因此我已将其作为数据属性嵌入复选框中,但您可以按照自己的意愿执行

$(文档).on('click','droit_data',函数(){
var id_code=$(this.attr(“id”);
$.ajax({
url:“droit.php”,
方法:“张贴”,
数据:{id\u code:id\u code},
数据类型:“json”,
成功:功能(数据){
var html='';
$。每个(数据、函数(键、值){
html+='';
html+=''+数据[key].libelle+'';
}否则{
html+='id=“droit”data-id_-code=“+id_-code+”>“+data[key].libelle+”;
}
});
$(“#tab”).html(html);
$('#modelId').model(“show”);
}
});
});
$(文档).on('click','.droit',函数(){
var check=$(this.prop('checked');
var libel=$(this.attr('name');
var id_code=$(this).data('id_code');
$.ajax({
url:“droit_save.php”,
方法:“张贴”,
数据:{check:check,id_代码:id_代码,诽谤:诽谤},
成功:功能(数据){
警报(数据);
}
});
});
编辑:添加了代码段。我已经替换了ajax调用

$(文档).on('click','droit_data',函数(){
var id_code=$(this.attr(“id”);
风险值数据=[
{“droit”:“true”,“libelle”:“test1”},
{“droit”:“false”,“libelle”:“test2”},
];
var html='';
$。每个(数据、函数(键、值){
html+='';
html+=''+数据[key].libelle+'';
}否则{
html+='id=“droit”data-id_-code=“+id_-code+”>“+data[key].libelle+”;
}
});
$(“#tab”).html(html);
//$('#modelId').model(“show”);
});
$(文档).on('click','.droit',函数(){
var check=$(this.prop('checked');
var libel=$(this.attr('name');
var id_code=$(this).data('id_code');
log({check:check,id_代码:id_代码,libel:libel});
});

按钮

谢谢您的回答,但我必须收到.droit\u数据的id\u代码how id=“您的解决方案获得我的id=”droit“奇怪的是,我只捕获了
.droit\u data
的id,所以我不确定如何获得不同的id。我添加了一个代码片段。看一看,让我知道这是否是你所期待的。很难猜测您的HTML是什么样子的,因此您可能必须提供这种结构。