问题描述
通过下面方式生成一行表格,如何获取修改,删除按钮,并且给他编写触发事件?varhtml="<tr><td>"+item.toString()+"</td><td>"+$("#ID").val()+"</td><td>"+$("#Name").val()+"</td><td>"+$("#Accounts").val()+"</td><td>"+$("#BuyingPrice").val()+"</td><td>"+priceSum+"</td><td>"+$("#SellingPrice").val()+"</td><td>"+$("#DictVaccineUnit_Comment").val()+"</td><td><ahref='#'class='ForChange'>修改</a><inputtype='button'value='删除'class='ForDelete'/></td>";我使用下面这种方式,实验后点击按钮没有反应。$(".ForDelete").click(function(){alert("prepared");$(this).parent("td").parent("tr").remove();});求问怎么解决这个问题?
解决方案
解决方案二:
使用Firefox中的firebug去调试看看哪里出了问题。也可以关注一下你生成的HTML是否完整了
解决方案三:
超链接和button都给添加ID,或者Name,这样你才方便找到他们,再给他们添加事件getElementById
解决方案四:
首先看你生成的是否正确还有如果你是动态加到页面上的标签jquery你在ready里面绑定的事件是不会绑定到新的标签上的所以你的用on来绑定事件$(document).ready(function(){$(document).on("click",".ForDelete",function(){alert('test');});});
解决方案五:
你可以将varh=$(html),然后随便你怎么对h进行什么操作,最后将h加入到dom就行
解决方案六:
$(".ForDelete").click(function(){alert("prepared");$(this).parent("td").parent("tr").remove();});改成$(".ForDelete").live('click',function(){alert("prepared");$(this).parent("td").parent("tr").remove();});
就可以了。因为你是后台生成的html。所以加载的时候不会添加事件