JQuery $ (возвращает ноль - PullRequest
       6

JQuery $ (возвращает ноль

0 голосов
/ 06 октября 2009

У меня проблемы с возвратом JQuery пустого значения.

Вот мой JQuery (который содержится в .js) ....

$(document).ready(function() {        
var chkBox = $("#gvEntryPoints input[id$='cbxIncludeAll']");        
chkBox.click(function() {                 
    $("#gvEntryPoints input[type='checkbox']").attr('checked', chkBox.is(':checked'));
});        

// To deselect CheckAll when a GridView CheckBox is unchecked        
$("#gvEntryPoints INPUT[type='checkbox']").click(function(e) {            
    if (!$(this)[0].checked) {                
        chkBox.attr("checked", false);            
    }        
});    

}

Похоже, что chkBox никогда не назначается, и поэтому никогда не назначается событие щелчка.

Вот мой HTML ...

<asp:GridView CssClass="GridView" ID="gvEntryPoints" runat="server" AutoGenerateColumns="false">
            <Columns>
                <asp:TemplateField Visible="false">
                    <ItemStyle CssClass="GridView_Item" />
                    <ItemTemplate>
                        <asp:Label runat="server" ID="lblEntryPointListItemId" Text='<%# Eval("EntryPointListItemId") %>'/>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField Visible="false">
                    <ItemStyle CssClass="GridView_Item" />
                    <ItemTemplate>
                        <asp:Label runat="server" ID="lblEntryPointId" Text='<%# Eval("EntryPointId") %>'/>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Include">
                    <ItemStyle CssClass="GridView_Item" />
                    <HeaderTemplate>
                        <asp:CheckBox runat="server" ID="cbxIncludeAll" CssClass="label" Checked="true" Text="Include<br/>All" TextAlign="Left" />
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox runat="server" ID="cbxEPInclude" name="EPInclude" CssClass="EPCheckBox" Checked="true" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

Мой HTML лежит в .ascx. .Ascx содержится на странице содержимого .aspx. У меня есть библиотека JQuery, включенная в главную страницу (я пробовал в голове, верхней части тела и нижней части тела).

1 Ответ

3 голосов
/ 06 октября 2009

проблема в том, что флажок не будет отображаться с идентификатором cbxIncludeAll на стороне клиента. Он будет иметь идентификатор, сгенерированный asp.net. как crtl_Gridview1_001_cbxIncludeAll или что-то в этом роде. Взгляните на исходный код клиента, чтобы увидеть, как его зовут.

Существует также свойство clientID каждого элемента управления, которое можно использовать для получения идентификатора клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...