2017-05-29 17 views
0

我有一個表:如何找到編輯按鈕的ID在jQuery的

  <table id="tblViewNotes" runat="server" border="1" style="border-collapse:collapse;width: 650px;margin-left: 7px;"> 
             <thead> 
              <tr> 
               <th>Title</th> 
               <th>Description</th> 
               <th>Edit</th> 
              </tr> 
             </thead> 
             <tbody></tbody> 
            </table> 
我有兩個文本框的標題和描述

。我也有一個保存按鈕,點擊保存按鈕,我將數據附加到我的表的tbody。

$('#<%=ibtnSaveTask.ClientID %>').click(function() { 

    var title = $('#<%=txtTitle.ClientID %>').val(); 
    var description = $('#<%=txtContent.ClientID %>').val(); 

    $('#<%=tblViewNotes.ClientID %> tbody').append('<tr><td>' + title + '</td><td>' + description + '</td><td> <img id="imgEdit" src="../../Images/Edit.gif" style="width:20px; height:20px;" title="Edit" runat="server" /> </td><td>' + description + '</td></tr>'); 

}); 

所以它按預期工作。但現在我無法獲得「imgEdit」按鈕的ID。所以下面不工作。

$('#<%=imgEdit.ClientID%>').click(function() { alert("Edit Clicked") });

+0

使用事件代表團 – guradio

+0

'#imgEdit'附加使用JavaScript,它不會在你的C#代碼存在,你不能用'clientID'它。真正的問題是你使用相同的ID追加多個元素。 – adeneo

回答

1

的jQuery 1.7+可以附加一個事件處理程序使用.on()

父元素見http://api.jquery.com/on/

所以不是...

$("#imgEdit").click(function() { 
    // do something 
}); 

你可以寫...

$('body').on('click', '#imgEdit', function() { 
    // do something 
}); 

此外這不是好主意,用相同的ID添加元素,而不是使用計數器,使不同ID每個編輯按鈕並單擊事件中使用class代替ID添加class編輯按鈕,並使用class綁定click事件

+0

你能告訴我,如果我編輯一行,然後如何找到它的索引,以編輯和更新? –

+0

@RajeevRanjanTiwary你必須綁定一個新的列與唯一的ID更新特定記錄使其隱藏,如果你不想讓它可見,並試圖找出給該類的列,並試圖找出該類同時點擊編輯按鈕,如果你無法做到這一點,提出一個新的問題,讓我知道我會在這方面幫助你 – Curiousdev

0

更好的是你附加了如下所示的編輯按鈕的同時附加事件處理程序。

function editNote(){ 
    alert("Edit Clicked") 
} 

$('#<%=ibtnSaveTask.ClientID %>').click(function() { 

var title = $('#<%=txtTitle.ClientID %>').val(); 
var description = $('#<%=txtContent.ClientID %>').val(); 

$('#<%=tblViewNotes.ClientID %> tbody').append('<tr><td>' + title + '</td><td>' + description + '</td><td><a id="btnEdit" href="#" onclick="editNote();"> <img src="../../Images/Edit.gif" style="width:20px; height:20px;" title="Edit" /> </a> </td><td>' + description + '</td></tr>'); 

});