我有一個Gridview
與第一列包含每行的編輯按鈕。點擊按鈕呼叫btnEditClick()
這是javascript
中的一項功能。我如何能夠訪問按鈕被點擊的行,以便我可以編輯這些值?這是我到目前爲止,這裏當點擊按鈕時獲得行Gridview
var target = event.target || event.srcElement;
target.id = "btnEdit";
target.style.display = 'none';
var cancel = document.getElementById("btnCancel");
if (cancel != null)
cancel.click();
var grid = document.getElementById("gridRoles"); //get gridview
var row = target.parentElement.parentElement; //doesn't work
var hdn = document.createElement("input");
hdn.type = "hidden";
hdn.id = "hdnId";
hdn.name = "hdnId";
hdn.value = row.cells[1].innerHTML.toString();
row.cells[0].appendChild(hdn);
編輯是我的GridView
<asp:GridView ID="gridRoles" runat="server" Width="100%" AutoGenerateColumns="False" Font-Names="Arial" PageSize="12"
Font-Size="11pt" CssClass="textGrid" AlternatingRowStyle-BackColor="#CED8F6" HeaderStyle-BackColor="#F2F2F2"
AllowPaging="True" OnPageIndexChanged ="IndexChanged" OnPageIndexChanging ="PageChange" OnRowDataBound="gridroles_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Action">
<ItemTemplate>
<asp:Button ID="btnEdit" runat="server" text="Edit" OnClientClick="btnEditClick()" />
<asp:Button ID="btnAdd" runat="server" text="Add" OnClientClick="btnAddClick()" Visible="false"/>
</ItemTemplate>
</asp:TemplateField>
...
這很容易用jQuery完成。我看到你正在使用直接的JavaScript。你在項目中包含jQuery庫嗎? –
不,我沒有,這主要是代碼已經寫好,我試圖添加到它。這可以用JavaScript來完成,還是應該使用jQuery? – mysticalstick