【问题标题】:How to Get TextBox value from button click in Nested Gridview如何从嵌套 Gridview 中的按钮单击获取 TextBox 值
【发布时间】:2016-07-16 16:32:35
【问题描述】:

我有一个嵌套的 Gridview,其中包含 textbox & Button 列。如何在asp.net中使用jquery在Button Click时在警报中显示textbox的值。
例如

<asp:GridView ID="GridParent" runat="server">
 <Columns>
   <asp:TemplateField>
     <ItemTemplate>
      <table>
        <tr>
         <td>
           -----------
           -----------
         </td>
         <td>
         <asp:GridView ID="GridChild" runat="server">
          <Columns>
           <asp:TemplateField>
            <ItemTemplate>
               <asp:Textbox ID="TextBox1" runat="server"></asp:TextBox>
               <asp:Button ID="Button1" runat="server" Text="Button" onclick=showText(); return false; />
            </ItemTemplate>
           </asp:TemplateField>
         </Columns>
        </asp:GridView>
        </td>
       </tr>
      </table>
     </ItemTemplate>
   </asp:TemplateField>
 </Columns>
</asp:GridView>

我正在使用的 JQuery

function showText() {            
            var text= $("#TextBox1").val();
            alert(text);
            return false;
        }

我在 stackoverflow 中找到了一个确切的问题,但我的问题略有不同,因为我想通过使用 JQuery 而不是 C# Coding 来获取嵌套网格视图中的文本框值

【问题讨论】:

    标签: javascript jquery asp.net gridview


    【解决方案1】:

    在您的web.config 中添加clientIDMode,如下所示:

    <pages clientIDMode="Static"></pages>
    

    然后:

    $(function() {
        $("#Button1").click(function(e) {
             e.preventDefault();
             alert($("#TextBox1").val());
        });
    });
    

    【讨论】:

    • 你的 jQuery 加载了吗?
    • Okey 尝试更新的答案,将上面的代码放在页面中的某个位置;)
    • 得到错误编译错误
    • @Ismali : 同样的错误编译错误
    • 您使用的是 ASP.net 4.0 之前的版本吗!
    【解决方案2】:

    你可以试试:

    <asp:TemplateField>
        <ItemTemplate>
            <asp:TextBox ID="TextBox1" runat="server" />
            <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="showText(this); return false;" />
        </ItemTemplate>
    </asp:TemplateField>
    

    使用以下showText 函数,它在与单击的按钮相同的表格单元格中查找文本框:

    function showText(btn) {
        alert($(btn).closest('td').find('input[type=text]').val());
    }
    


    更新

    根据您的other question,文本框和按钮可能位于 div 容器内。如果是这样的话,函数showText应该是:

    function showText(btn) {
        alert($(btn).closest('div').find('input[type=text]').val());
    }
    

    【讨论】:

      猜你喜欢
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 2021-12-08
      • 2014-04-25
      • 2012-05-14
      相关资源
      最近更新 更多