我有一個網格視圖。每行都有一個備用名稱(TextBox)和一個隱藏按鈕,JQuery 必須自動在文本框“onblur”上單擊此按鈕。 <asp:GridView ID="GridView1" CssClass="GridView1" runat="server" AutoGenerateColumns="False" EnableViewState="True"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:CheckBox ID="checkbox1" runat="server" OnClick="checkboxing(this)" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="City Name Id"> <ItemTemplate> <asp:Label ID="NameId" runat="server" Text='<%# Eval("Name_Id") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Alternate Names"> <ItemTemplate> <asp:TextBox runat="server" ClientIDMode="Static" ID="altTxtNames" Style="display: none" onblur="buttonupdate(this)"></asp:TextBox> <asp:Button runat="server" ID="TxtButton" ClientIDMode="Static" Style="visibility: hidden; display: none" OnClick="TxtButton_Click" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>每當備用名稱(文本框)中發生“onblur”事件時 onblur="buttonupdate(this)"執行以下 JQuery: function buttonupdate(alternateTxtNames) { $('#TxtButton').click(); }此按鈕單擊提示執行 aspx.cs 方法,其中使用以下代碼從單擊的按鈕網格視圖行中選擇已編輯的“備用名稱”和“城市名稱 Id”的值: protected void TxtButton_Click(object sender, EventArgs e) { Button btn = (Button)sender; GridViewRow gvr = (GridViewRow)btn.NamingContainer; string updatedSNo = (gvr.FindControl("NameId") as Label).Text; int SNo = Convert.ToInt32(updatedSNo); string updatedText = (gvr.FindControl("altTxtNames") as TextBox).Text; }但是每次點擊來自另一行時,只選擇第一個 gridview 行值,我認為這是使用ClientIDMode的因果關系,因為它無法區分按鈕點擊與其他行。我應該如何克服這個問題。哪位好心人可以指導一下。
- 2 回答
- 0 關注
- 207 瀏覽
添加回答
舉報
0/150
提交
取消