2012-07-13 20 views
5

Hola a todos Tengo una casilla de verificación Quiero comprobar si está marcada o no en el lado del cliente, antes de que se produzca la devolución de datos. Aquí está la casilla:jquery comprueba si casilla de verificación asp está marcada

<asp:CheckBox runat="server" CssClass="checkbox" Checked="true" ID="checkboxRules" /> 

Gracias de antemano, Laziale

ACTUALIZACIÓN: El problema es que hay un botón en la página también, lo cual es provocada por código JS, y tal vez puede agregar una línea allí para comprobar si la casilla de verificación está marcada una vez que se hace clic en el botón; de lo contrario, mostrar el mensaje para casilla de verificación no marcada:

función enterClick() { $ ('# SUBMIT'). click(); }

var ishown = false; 
$(document).ready(function() { 
    $('#BUTTON').click(function (e) { 

// Quiero poner la lógica casilla aquí

Gracias de nuevo

+1

Ok. ¿Qué has intentado? – asawyer

Respuesta

1

Como es una casilla de verificación del lado del servidor, enviará algo como <input type="checkbox" class="checkbox" /> como HTML al cliente después de que ASP.NET procese el control.

La identificación de la casilla de verificación no va a ser checkboxRules como lo tiene en el código fuente. ASP.NET hará una concatenación del ID del lado del servidor id + master page (si usa una página maestra) + checkboxRules, por lo que en este caso no usaré un selector que dependa del id del elemento.

Podemos hacer que un selector jQuery sea lo más estrecho posible para seleccionar únicamente las entradas con un tipo de "casilla de verificación" y con una clase CSS de "casilla de verificación".

$('input[type=checkbox] .checkbox').attr('checked') 

devolverá el valor booleano del estado de verificación de la entrada. Esto encontrará cualquier entrada en la página que sea una casilla de verificación con esa clase de CSS.

+0

Vea: http://www.electrictoolbox.com/check-uncheck-checkbox-jquery/ – mccrager

2

Asumiendo que su casilla de verificación es el único elemento de la página que tiene la clase casilla:

var checked = $(".checkbox").is(':checked') 
+0

pls verifique mi código actualizado – Laziale

9

intente ...

if ($('#<%= checkboxRules.ClientID %>').is(':checked')) { 
... 
} 
+0

por favor revise mi código actualizado – Laziale

0

Agregue un atributo de datos a su casilla de verificación y use la función 'hasClass' que proporciona jQuery. Como a continuación:

var isChecked = $('[data-checkbox]').hasClass('checkbox-selected');
<asp:CheckBox data-checkbox="" Text="Some Caption" runat="server" />

Cuestiones relacionadas