【问题标题】:Text value from Label in GridView form with Javascript带有Javascript的GridView表单中标签的文本值
【发布时间】:2014-10-05 20:58:45
【问题描述】:

如何通过 JavaScript 从 GridView 获取 Text 值?

我试过了,但它没有显示来自 Text = "this is a label" 的值:

                var lblThis = document.getElementById('<%= GridView1.ClientID %>')
                var lblThisTag = lblThis.document.getElementByTag('txtValueResultMandays').innerHTML
                alert(lblThisTag);

示例:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowDataBound="GridView1_RowDataBound">
                <Columns>
                    <asp:TemplateField HeaderText="Mandays">
                        <ItemTemplate>
                            <asp:Label ID="txtValueResultMandays" runat="server" Text="this is a label"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>

谢谢。

【问题讨论】:

  • 我试过这个:document.getElementById('').getElementsByTagName('') - 不起作用((跨度>

标签: javascript c# gridview label getelementbyid


【解决方案1】:
var lblThis = document.getElementById('<%= GridView1.ClientID %>')

if(grid.rows.length>0){
    //loop starts from because first row is columnNames
    for (i = 1; i < grid.rows.length-1; i++) {

        var label= grid.rows[i].cells[index of the cell with label].elements[0];
        alert(label.InnerHTML);                 

    }
}

你应该尝试这样的事情。

【讨论】:

  • var label= grid.rows[i].cells[index of the cell with label].elements[0]; 我必须写在index of the cell with label ??
  • @EldarNecefov 具有标签的单元格的索引
【解决方案2】:

如果它有一个 id,你为什么不尝试使用 jquery 直接访问标签值,如下所示。

 var value = $('#<%=txtValueResultMandays.ClientID%>').val();

或尝试使用 getElementById 方法直接在 java 脚本中访问它,而不是通过网格。

【讨论】:

  • 当我尝试使用它时,它给出了错误。当前上下文中不存在名称“txtValueResultMandays”
  • 检查页面的来源并检查那里的文本框的ID。将 txtValueResultMandays.ClientID 替换为该 ID。
猜你喜欢
  • 1970-01-01
  • 2011-09-14
  • 1970-01-01
  • 2011-10-30
  • 2022-08-14
  • 2013-07-01
  • 2011-08-25
  • 1970-01-01
相关资源
最近更新 更多