以下是我的Jquery
function editRow(obj) {
showPopUp();
var pr_code = $(obj).parent().siblings(':eq(0)').html();
var ordr_qty = $(obj).parent().siblings(':eq(1)').html();
$("#ProductCode").find("option").each(function(){
if($(this).text() == pr_code){
$(this).prop("selected",true);
}
});
$("#OrderQty").val(ordr_qty);
$('#add').removeAttr('value');
$('#add').attr('value', 'Update');
$('#add').click(function(e) {
// Do stuff on click
e.preventDefault();
var currTrId = $(obj).closest('tr').attr("id");
if(($("#add").attr("value")) === "Update")
{
alert(currTrId);
$("#popupdiv").fadeOut("slow");
$("#popupdiv_content").fadeOut("slow");
$("#backgrounddiv").fadeOut("slow");
//alert(currTrId);
var pctxt = $( "#ProductCode option:selected" ).text();
var pcval = $( "#ProductCode option:selected" ).val();
var oqval = $( "#OrderQty" ).val();
$("#"+currTrId).find("td").eq(0).html(pctxt);
$("#"+currTrId).find("td").eq(1).html(oqval);
//$currTrId(':eq(1)').html(oqval);
//alert(pc +"--"+oq);
selectedEftReqLinesIdArray.push({currTrId: currTrId,ProductCode: pcval,OrderQty: oqval,parameter: 0});
console.log(selectedEftReqLinesIdArray);
}
});
}
这里我尝试使用我的字段数据更新表行,currTrId是当前的tr id,当我点击编辑链接时,弹出窗口将显示已填充数据的字段,然后他可以更新它,当他点击更新按钮,表格将会更新。
对于第一次行编辑,它工作正常,但是当我单击编辑并更新另一行时,两行都在更新,而不是当前行。
当我提醒当前的tr id时,它第二次像循环一样警告两个tr。
任何帮助将不胜感激。谢谢
答案 0 :(得分:0)
SLC先生是正确的,每当我调用editRow()时,它都会像循环一样创建一个新的点击事件,所以我只是在再次调用之前删除了click事件。
function editRow(obj) {
showPopUp();
$('#add').off("click");
$('#add').on( "click", function(e) { ........ });
});
由于