【问题标题】:get textbox value inside gridview div tag in javascript在javascript中获取gridview div标签内的文本框值
【发布时间】:2017-03-24 04:35:39
【问题描述】:

我在 div 标签内有一个文本框,该文本框位于 gridview 内。 下面是代码:

<asp:TemplateField HeaderText="Color">
    <ItemTemplate>                  

         <div id="preview" style="width:100%; float:right">
             <asp:TextBox ID="TB_color" runat="server" Width="50%" ReadOnly="true"></asp:TextBox>
         </div>
        <ajaxToolkit:ColorPickerExtender ID="ColorPickerExtender1" runat="server" targetcontrolid="TB_color" samplecontrolid="preview" PopupPosition ="Right" OnClientColorSelectionChanged="colorChanged" />                         
    </ItemTemplate>
</asp:TemplateField>

如何在 javascript 中读取(或循环)TextBox TB_color 的值?

【问题讨论】:

    标签: javascript c# jquery asp.net gridview


    【解决方案1】:

    您可以找到包含TB_color 的ID 来查找所有文本框,因为asp.net 生成包含TB_color 的ID

    for(i=0;i<document.forms[0].length;i++)
    {   
        e=document.forms[0].elements[i];
        if (e.id.indexOf("TB_color") != -1 )
        {
           console.log(e.id);
        }
    }   
    

    如果你可以使用jQuery 那就很简单了。

    $('[id*=TB_color]').each(function(){
      console.log(this.id);
    });
    

    您可能会更多地了解 jquery [属性包含选择器 [name*=”value”]] 或 Attribute Starts With Selector [name^=”value”]

    【讨论】:

    • 不工作。我如何遍历 Gridview ?然后我需要找到 div ,然后在里面找到文本框。
    • 试试这个条件,如果 (e.id.indexOf("TB_color") != -1 ),改代码
    • 收到此错误:TypeError: document.forms is not a function
    • 获取更新码。它假设您在页面上有一个表格,而您有多个表格,那么您必须提供正确的索引
    • 我可以获取 TB id,如何阅读其文本? e.innerText 不工作。
    【解决方案2】:

    你真正想要完成什么?也许遍历文本字段不是最好的选择。

    您可以尝试将ClientIDMode 设置为predictable,这样html 上文本字段的ID 将类似于gridId_rowId_preview_TB_color。

    如果你想对所有的 TB_color 文本字段做一些事情,你可以为项目模板设置一些类,并获取所有具有该类的元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      相关资源
      最近更新 更多