votar para ine casillas jquery visual-studio-2008 nested element

para - encontrar casilla de verificación anidada en control de repetidor con jquery



casillas para votar 2018 (1)

No funciona porque está intentando acceder a storeCheck usando su ID y storeCheck solo existe en el contexto del repetidor.

Lo que debes hacer es usar la clase en su lugar. Entonces cambia:

$(''#<%= storeCheck.ClientID %>'').each(function() {

a

$(''.storeCheckBox'').each(function() {

También puede cambiar su código a este, que solo verifica si hay casillas marcadas con la clase de storeCheck:

$(''#<%= uploadBtn.ClientID %>'').click(function() { if($(''span.storeCheck input:checked'').length == 0) { alert("Upload is only possible if a store has been chosen from list."); return false; } });

Cambió el código ya que parece que asp.net coloca la casilla de verificación dentro de un lapso con la clase que proporciona en lugar de aplicarla directamente a la casilla de verificación.

jsfiddle - http://jsfiddle.net/infernalbadger/rAVLA/1/

Utilizando VS 2008, tengo un control Repeater con elementos anidados y quiero seleccionar uno de ellos (las casillas de verificación) con jquery.

<asp:Repeater runat="server" ID="storesRep" DataSourceID="storeSqlDataSource" OnItemDataBound="StoresRep_ItemDataBound"> <ItemTemplate> <table style="padding:0px"> <tr> <td style="width:200px"><asp:Label ID="infoLbl" runat="server">Choose stores for upload:</asp:Label>&nbsp;&nbsp;&nbsp;&nbsp;</td> <td style="width:110px"><asp:Label ID="storeLbl" runat="server" Text=''<%# Bind("Name") %>''></asp:Label>&nbsp;&nbsp;</td> <td><asp:CheckBox runat="server" ID="storeCheck" CssClass="storeCheck" /></td> </tr> </table> </ItemTemplate> <FooterTemplate> <table runat="server" id="footerTbl" visible="false" style="padding:0px"> <tr> <td style="width:200px"><asp:Label ID="infoLbl" runat="server">Choose stores for upload:</asp:Label>&nbsp;&nbsp;&nbsp;&nbsp;</td> <td><asp:Label ID="lblEmptyData" Text="No Stores found." runat="server" ForeColor="GrayText"></asp:Label></td> </tr> </table> </FooterTemplate> </asp:Repeater>

Aquí está mi script

$(''#<%= uploadBtn.ClientID %>'').click( function() { //check if store was chosen from list var storeChecked = false; $(''#<%= storeCheck.ClientID %>'').each(function() { if ($(this).attr(''checked'')) storeChecked = true; }); if (storeChecked == false) { alert("Upload is only possible if a store has been chosen from list."); return false; }

Aparece el error del compilador "storeCheck no es un nombre conocido en el contexto actual".