2014-01-09 11 views
1

下面是我的JqueryjQuery的文字點擊事件

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 id就像循環一樣。

任何幫助將不勝感激。謝謝

+1

什麼時候你的函數editRow()被調用?如果每次嘗試編輯一行時都會調用它,它將爲添加按鈕創建一個新的Click()處理函數。 – NibblyPig

+0

那麼我該怎麼做,我應該在editRow()調用時刪除.click事件嗎? – vamsi

回答

0

SLC先生是正確的,每當我呼叫editRow()它創建一個新的點擊事件就像一個循環,所以我只是在再次調用它之前刪除了點擊事件。

function editRow(obj) { 
    showPopUp(); 

    $('#add').off("click"); 

    $('#add').on("click", function(e) { ........ }); 
}); 

感謝