2012-05-25 62 views
5

La función siempre devuelve falso, aunque la casilla esté marcada. Realmente no pude descifrar lo que estoy haciendo mal. Estoy usando una casilla de verificación para habilitar y deshabilitar el cuadro de texto en la vista de cuadrícula. Sin embargo, parece que no funciona. Gracias por la ayuda. He publicado el código html y jq a continuación.JQuery La verificación de la casilla de verificación está marcada

código HTML

:

<asp:GridView ID="grdFees" runat="server" AllowPaging="false" CssClass="Grid" AutoGenerateColumns="false" EmptyDataText="No Data Found" EmptyDataRowStyle-HorizontalAlign="Center" EmptyDataRowStyle-CssClass="gridItem" TabIndex="5"> 
<Columns> 
<asp:TemplateField HeaderText="Select" HeaderStyle-HorizontalAlign="center" 
           ItemStyle-HorizontalAlign="center" ItemStyle-Width="2%"> 
           <ItemTemplate> 
            <asp:CheckBox ID="chkselect" runat="server" CssClass="checkbox" 
            Width="15px" Checked="false" /> 
           </ItemTemplate> 
          </asp:TemplateField> 

</Columns> 
</asp:GridView> 

Jquery código:

$(document).ready(function() 
    { 
     $(".checkbox").click(function() 
     { 
     if ($(this).is(":checked")) 
     { 
      alert("true"); 
     }else 
     { 
      alert("false"); 
     } 
}); 

Respuesta

11

ASP.NET probablemente no aplique el valor de CssClass a la casilla de verificación en sí, sino a la etiqueta generada y/o al elemento contenedor.

Trate de usar el selector :checkbox lugar:

$(document).ready(function() { 
    $("input:checkbox").click(function() { 
     if ($(this).is(":checked")) { 
      alert("true"); 
     } else { 
      alert("false"); 
     } 
    }); 
}); 
+0

que funcionó ... gracias por tu valiosa pista ... genial !! – Prince

+0

Hasta la votación, muchas gracias. Esto me estaba volviendo loco. Cómo pasé por alto esto en la inspección de HTML me supera. – Lukas

+0

¡Oh, Dios mío! Acabas de terminar con un montón de cabello tirando de mí. ¡Muchas gracias! –

0
$(document).ready(function() { 
    $("#chkselect").click(function(){ 
     if (this.checked) { // can also use $(this).is(':checked') as you do 
      alert("true"); 
     } else { 
      alert("false"); 
     } 
    }); // you code miss "});" here 
}); 

También puede utilizar el selector

$(':input:checkbox') o $('input:checkbox')

+0

gracias por la respuesta ... pero todavía no funciona. la alerta siempre muestra falsa. – Prince

2

A medida que la cuadrícula duerma aplica la clase a la casilla de verificación se puede hacer algo como esto.

$(document).ready(function() { 
    $(".checkbox :checkbox").click(function(){ 
     if (this.checked) { 
      alert("true"); 
     } else { 
      alert("false"); 
     } 
    }); 
}); 
Cuestiones relacionadas