无法通过jQuery选择网格元素

时间:2009-10-20 02:26:57

标签: asp.net jquery jquery-selectors

这是ASP.NET How to pass container value as javascript argument

的后续问题

Darin Dimitrov使用his answer善意地提供jQuery
但由于某种原因,我无法选择我想要的网格行。

这是用于选择行的jQuery。

$(function() {
    $('#_TrustGrid input[name^=trustDocIDTextBox]').each(function(index) {
        $(this).click(function() {
            alert('Hello world = ' + index);
            setGridInEditMode(index);
        });
    });
});

以下是实际输出HTML标记。

<input 
    id="_TrustGrid_ctl16_ctl05_ctl00_trustDocIDTextBox" 
    type="text" value="198327493" 
    name="_TrustGrid$ctl16$ctl05$ctl00$trustDocIDTextBox"/>

我今晚刚刚开始使用jQuery并且正在查看官方jQuery Selectors文档但是没有成功。



我在这里遗漏了什么吗?

3 个答案:

答案 0 :(得分:0)

我做了什么来保存我在.aspx页面中使用的控件的完整ID:

<input type="hidden" 
       id="SubcontractorDropDownID" 
       value="<%= SubcontractorDropDown.ClientID %>" />

然后,您可以获取id的值,然后在查询中使用它来了解要使用的行。

答案 1 :(得分:0)

乍一看,我认为你只想要一个'$'而不是'^',你应该在你的选择器中定位ID而不是NAME?

$(function() {
    $('#_TrustGrid input[id$=trustDocIDTextBox]').each(function(index) {
        $(this).click(function() {
            alert('Hello world = ' + index);
            setGridInEditMode(index);
        });
    });
});

答案 2 :(得分:0)

我不知道为什么选择#_TrustGrid不起作用。 我通过指定:input来解决问题,如下所示。

    $(function() {
        //$('#_TrustGrid input[id$=trustDocIDTextBox]').each(function(index) {
        $(':input[id$=trustDocIDTextBox]').each(function(index) {
            $(this).click(function() {
                alert('Hello world = ' + index);
                setGridInEditMode(index);
            });
        });
    });