【问题标题】:How to get values from GridView in JavaScript如何在 JavaScript 中从 GridView 获取值
【发布时间】:2017-11-02 07:02:03
【问题描述】:

我有一个 ASP.NET GridView(称为“ActionsGrid”),其中有几个 BoundFields 作为列。在我的 JavaScript 中,我想查看每个选定的行(类名“突出显示”)并从特定列(1、3 和 4)中提取单元格值。

这是我的脚本:

var params = [];

$('#ActionsGrid tr').each(function () {
    if (this.className === 'highlighted') {
        var record_pk = this.children("td:nth-child(1)");
        var obj_name = this.children("td:nth-child(3)");
        var obj_pk = this.children("td:nth-child(4)");
        params.push(record_pk + "," + obj_name + "," + obj_pk + "¬");
    }
});

我的变量只是返回“未定义”。我接近了吗?

【问题讨论】:

    标签: javascript c# jquery asp.net gridview


    【解决方案1】:

    您需要在 ActionGrid 上设置您的 ClientID。这是呈现给客户端的 ID,可以在 JavaScript 中使用。

    如果您将此设置为“ActionsGrid”,那么您就很接近了,但是您的 jQuery 选择器需要使用“#”来表示您正在选择一个 ID(如 css):

    $('#ActionsGrid tr').each(function () {
    

    您也可以将类作为选择器的一部分,而不是选择每一行,然后检查该行上的类。 IE。只选择具有该类的行:

    $('#ActionsGrid tr.highlighted').each(function () {
    

    【讨论】:

    • 抱歉,缺少的“#”是一个错字。我已经修改了这个问题。 ClientID 与网格上的 ID 不同吗? ID 是“ActionsGrid”。
    • 那么关键可能是在你的网格上设置你的ClientId。
    • 在我的 DOM 浏览器中,HTML 表格 ID 也是“ActionsGrid”。这就是您所说的 ClientID 吗?
    • 是的。如果您可以在 DOM 资源管理器中看到它,那么您应该可以在 jQuery 中选择它。 “ActionsGrid”是 DOM 中的表格元素吗?
    • 是的。也许问题在于设置变量?
    【解决方案2】:

    经过一些实验,我发现我的变量需要这样设置:

    var record_pk = $(this).children("td:nth-child(1)").html();
    var obj_name = $(this).children("td:nth-child(3)").html();
    var obj_pk = $(this).children("td:nth-child(4)").html();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-05
      • 1970-01-01
      • 2014-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多