【问题标题】:asp.net gridview tr id unique for jQueryjQuery 独有的 asp.net gridview tr id
【发布时间】:2010-08-27 12:19:13
【问题描述】:

我创建了一个 ASP.NET WebForms Gridview,我需要在 javascript/jquery 中访问表的每一行(例如 <TR>)。 不幸的是,gridview 生成的<tr> 看起来都具有相同的 ID!

有没有办法改变这种情况?任何想法如何访问 javascript 中的特定行(基本上我试图调用一个方法并将它需要访问的行 ID 传递给它)。

--- 更多信息 ---

 <asp:GridView ..>
    <Columns>
      <asp:Templatefield>
        <ItemTemplate>
          <asp:DropDownList onchange="javascript:EnableControls('ROWIDHERE')">
          </asp:DropDownList>
        </ItemTemplate>
      </asp:TemplateField>
    </Columns>
</asp:GridView>

这是下拉列表的一个变化,需要知道它在哪一行!

【问题讨论】:

标签: javascript asp.net jquery webforms


【解决方案1】:

如果您让 jQuery 管理您的处理程序,您可以使用 .closest() 执行类似的操作。

$('select').change(function() {
    var $tr = $(this).closest('tr'); 
    // do something with the row
});

这将遍历祖先,直到您到达&lt;tr&gt;

如果您想继续使用内联处理程序,请尝试以下操作:

<asp:DropDownList onchange="javascript:EnableControls(this)">

function EnableControls(elem) {
    var $tr = $(elem).closest('tr'); 
}

【讨论】:

    【解决方案2】:

    您能否发布 gridview 的示例代码以便我们比较模板?

    我脑海中的一个选项是给每个类元素,它使用一个内联代码块来分配一个基于索引的唯一类。这是一个例子:

    <tr class='uniqueClass<%# Container.DataItemIndex %>'>
    

    这样你的元素将被生成为

    <TR class='uniqueClass0' />
    <TR class='uniqueClass1' />
    <TR class='uniqueClass2' />
    

    从这里,您可以通过简单地使用来识别您在 jquery 中需要的内容

    var rowIndexRequired = 1;
    var requireRow = $('.uniqueClass'+rowIndexRequired);
    

    如果您提供更多详细信息,那么我可以提供更多帮助。

    【讨论】:

      【解决方案3】:

      您始终可以通过以下方式自上而下访问它:

      $("#<%= GridView1.ClientID %>").find("tr:eq(0)")
      

      或使用父母搜索:

      //this reference to element
      $(this).parents("tr:first")
      

      HTH。

      【讨论】:

        【解决方案4】:

        如果您的要求是需要引用该行的行内的控件,您不能只使用这样的东西吗:

        $(".myControlClass").parents("tr")

        引用行?您的控件将分配一个类,因此您可以通过这种方式选择它。我不知道标记是什么样的,但这可能是一个好的开始。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-21
          • 1970-01-01
          • 1970-01-01
          • 2014-11-19
          相关资源
          最近更新 更多