在javascript中获取gridview div标签内的文本框值

时间:2017-03-24 04:35:39

标签: javascript c# jquery asp.net gridview

我在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值?

2 个答案:

答案 0 :(得分:1)

您可以找到包含TB_color的ID,以查找包含TB_color

的asp.net生成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 [Attribute Contains Selector [name * =“value”]]或Attribute Starts With Selector [name^=”value”]

答案 1 :(得分:0)

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

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

如果要对所有TB_color文本字段执行某些操作,可以将某个类设置为项模板,并获取具有该类的所有元素。