获取table中当前行的某一项的值(innerHTML)
var value = $(this).parent().parent().find("td")
当你通过js代码自动生成DOM元素时,可能会发现生成的button监听不到,
先看代码:
var t = "<tr class="+data.field.classs +"><td style='display:none'>"+data.field.classs+"</td><td>"+data.field.color+"</td><td>"+data.field.size+"</td><td>"+data.field.stock+"</td><td><button class='layui-btn layui-btn-danger btns'>删除</button></td></tr>" $('.tables').append(t)
两种解决办法:
/*点击删除按钮*/
1.$(document).on("click",".btns",function(){
/*获取到当前行的唯一值*/
var value = $(this).parent().parent().find("td")
/*根据唯一值删除掉当前行的数据*/
$('.'+value[0].innerHTML+'').remove();
/*根据唯一值删除json包中的数据*/
var newArray = delarr(maxStr,value[0].innerHTML)
maxStr = newArray;
})
2.在button中添加onclick方法,
如下: <button onclick='shanchu(this)'>删除</button>
/*删除方法*/
function shanchu(event){
/*获取到当前行的唯一值*/
var value = $(event).parent().parent().find("td")
/*根据唯一值删除掉当前行的数据*/
$('.'+value[0].innerHTML+'').remove();
/*根据唯一值删除json包中的数据*/
var newArray = delarr(maxStr,value[0].innerHTML)
maxStr = newArray;
if(maxStr.length == 0){
$('.addShoping').css('display','none')
$('.addShopingItem').css('display','none')
}
// $('#sssd').val(maxStr)
$('#sssd').val(JSON.stringify(maxStr))
}