Javascript 无法在jquery中正确追加div onclick
我有一个php for循环,它反复呈现div 这是for循环。这里$checkboxitemsafterstripper是一个一维数组Javascript 无法在jquery中正确追加div onclick,javascript,php,html,jquery,Javascript,Php,Html,Jquery,我有一个php for循环,它反复呈现div 这是for循环。这里$checkboxitemsafterstripper是一个一维数组 foreach( $checkboxitemsafterstripper as $key => $item ){ echo ' <form id="'.$item.'form"><div class="div-table" id="'.$item.'">
foreach( $checkboxitemsafterstripper as $key => $item ){
echo ' <form id="'.$item.'form"><div class="div-table" id="'.$item.'">
<div class="div-table-col"><center><div class="c" id="add'.$item.'" data-value="'.$key.'" >'
}
foreach($checkboxitemsafterstripper作为$key=>$item){
回声'
'
}
我需要获取div的id,并使用jquery显示该表的子表
我尝试的jquery在这里
在jquery tablemap中,包含与php中的checkboxitemsafterstripper相同元素的javascript数组
$('.c').click(function () {
var m=$(this).attr('data-value');
$("#add"+tablemap[m]).click(function(){
booleantable[m]=booleantable[m]+1;
var html='<div class="div-table-row">';
html+='<div class="div-table-col" id="zerofirst" contenteditable="true"></div>';
html+='<div class="div-table-col" id="ZeroSecond" contenteditable="true"></div>';
html+='<div class="div-table-col" id="one" contenteditable="true">0</div>';
html+='<div class="div-table-col" id="two" contenteditable="true">0</div>';
html+=' <div class="div-table-col" id="three" >0</div>';
html+='<div class="div-table-col"><a href="#"><i class="fas fa-trash delete" id="delete'+tablemap[m]+m+'"></i></a></div>';
html+='</div>';
$("#"+tablemap[m]+"form").append(html);
alert(html);
html="";
});
});
$('.c')。单击(函数(){
var m=$(this.attr('data-value');
$(“#添加”+表格映射[m])。单击(函数(){
布尔表[m]=布尔表[m]+1;
var html='';
html+='';
html+='';
html+='0';
html+='0';
html+=“0”;
html+='';
html+='';
$(“#”+tablemap[m]+“form”).append(html);
警报(html);
html=“”;
});
});
此脚本的问题是,它在第一次单击时打印1个子表,在第二次单击时打印2子表,在第三次单击div时打印3子表。为什么会出现这种情况。如何在每次连续单击时将其设置为一个子表
如果这是一个愚蠢的问题,请原谅,或者告诉我,我将删除这个问题
下面是完整的php代码我发现最简单的方法是删除行$(“#add”+tablemap[m])。单击(function()){ 和匹配}) 这将为所有.c按钮(现在和将来)设置一次单击处理程序
$('.c').click(function () {
var m=$(this).attr('data-value');
{
booleantable[m]=booleantable[m]+1;
var html='<div class="div-table-row">';
html+='<div class="div-table-col" id="zerofirst" contenteditable="true"></div>';
html+='<div class="div-table-col" id="ZeroSecond" contenteditable="true"></div>';
html+='<div class="div-table-col" id="one" contenteditable="true">0</div>';
html+='<div class="div-table-col" id="two" contenteditable="true">0</div>';
html+=' <div class="div-table-col" id="three" >0</div>';
html+='<div class="div-table-col"><a href="#"><i class="fas fa-trash delete" id="delete'+tablemap[m]+m+'"></i></a></div>';
html+='</div>';
$("#"+tablemap[m]+"form").append(html);
alert(html);
html="";
}
});
$('.c')。单击(函数(){
var m=$(this.attr('data-value');
{
布尔表[m]=布尔表[m]+1;
var html='';
html+='';
html+='';
html+='0';
html+='0';
html+=“0”;
html+='';
html+='';
$(“#”+tablemap[m]+“form”).append(html);
警报(html);
html=“”;
}
});
我找到的最简单的方法是删除行$(“#add”+tablemap[m])。单击(function(){
和匹配})
这将为所有.c按钮(现在和将来)设置一次单击处理程序
$('.c').click(function () {
var m=$(this).attr('data-value');
{
booleantable[m]=booleantable[m]+1;
var html='<div class="div-table-row">';
html+='<div class="div-table-col" id="zerofirst" contenteditable="true"></div>';
html+='<div class="div-table-col" id="ZeroSecond" contenteditable="true"></div>';
html+='<div class="div-table-col" id="one" contenteditable="true">0</div>';
html+='<div class="div-table-col" id="two" contenteditable="true">0</div>';
html+=' <div class="div-table-col" id="three" >0</div>';
html+='<div class="div-table-col"><a href="#"><i class="fas fa-trash delete" id="delete'+tablemap[m]+m+'"></i></a></div>';
html+='</div>';
$("#"+tablemap[m]+"form").append(html);
alert(html);
html="";
}
});
$('.c')。单击(函数(){
var m=$(this.attr('data-value');
{
布尔表[m]=布尔表[m]+1;
var html='';
html+='';
html+='';
html+='0';
html+='0';
html+=“0”;
html+='';
html+='';
$(“#”+tablemap[m]+“form”).append(html);
警报(html);
html=“”;
}
});