我有一个动态表,它使用append
接收新行。
在每个行中都有td
,其中表示数字(数量)。
该号码的任何一侧都是一个按钮(加上&减号)。
每次按下该按钮,它都会使用function append
附加。
由于对象存在于页面上时,仅测试按钮功能,我使用alert()
来正确说明其功能,但是如果我创建了6行,则警报发生6次。
现在我理解为什么,因为我回想起控制数量的功能,因此它适用于每个新行,按下function append()
按钮。
我遇到的问题:可以/应该为每一行刷新一个函数,而不会创建该函数的重复项。根据我的理解,我需要刷新每一个新行,否则按钮将不会存在'为了使该功能在该按钮上工作。
function append() {
var adj_button_down = "<button type='button' class='btn btn-default btn-sm small-btn-quant-adj quant_adjust_down'><span class='glyphicon glyphicon-minus'></span> </button>";
var adj_button_up = "<button type='button' class='btn btn-default btn-sm small-btn-quant-adj quant_adjust_up'><span class='glyphicon glyphicon-plus'></span></button>";
$( "#till__tablepanel_table_"+tablenumber ).append( "<tr id='"+ fullReference+newrownum +"'><td>"+ newrownum +"</td><td>"+value_infoTitle+"</td><td>"+adj_button_down+"<span id='"+ fullReference+newrownum +"_price' class='wrap quantity'>1</span>"+adj_button_up+"</td><td>£"+value_unitPrice+"</td><td>£<span>"+value_unitPrice+"</span></td></tr>" );
quantityAdjust();
}
function quantityAdjust() {
quantAdjustUp();
}
function quantAdjustUp(){
$(".quant_adjust_up").click( function() {
alert("test success");
});
}
答案 0 :(得分:1)
跟踪你的东西:
function append() {
var adj_button_down = "...";
var adj_button_up = "...";
var newrow = $("...").append("...");
quantityAdjust(newrow);
}
function quantityAdjust(newrow) {
quantityAdjustUp(newrow);
}
function quantityAdjustUp(newrow) {
newrow.find(".quant_adjust_up").click(function() {...});
}
答案 1 :(得分:0)
在重新分配之前先关闭点击处理程序:
$(".quant_adjust_up").off("click").on("click", function () {
alert("test success");
});