2012-07-13 20 views
5

Ciao a tutti ho una casella di controllo Voglio controllare se è selezionata o no sul lato client, prima che il postback avvenga. Ecco la casella di controllo:jquery controlla se la casella di controllo asp è selezionata

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

Grazie in anticipo, Laziale

UPDATE: Il problema è che c'è un pulsante sulla pagina di troppo che viene attivato dal codice js, e forse posso aggiungere una linea lì per controllare se la casella è selezionata una volta che il pulsante è stato premuto, altrimenti visualizza messaggio per casella di controllo deselezionata:

function enterClick() { $ ('# SUBMIT'). click(); }

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

// voglio mettere la logica casella qui di nuovo

+1

Ok. Che cosa hai provato? – asawyer

risposta

1

Poiché è una casella di controllo sul lato server, invierà qualcosa come <input type="checkbox" class="checkbox" /> come HTML al client dopo che ASP.NET ha elaborato il controllo.

L'ID della casella di controllo non sarà come checkbox come se fosse nel codice sorgente. ASP.NET creerà una concatenazione dell'ID del modulo lato server + id della pagina principale (se si utilizza una pagina master) + checkboxRules, quindi in questo caso non utilizzerò un selettore che dipende dall'ID dell'elemento.

Possiamo fare un selettore jQuery il più stretto possibile per selezionare solo input con un tipo di "checkbox" e con una classe CSS di "checkbox".

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

restituirà il valore booleano dello stato di controllo dell'ingresso. Questo troverà qualsiasi input sulla pagina che è una casella di controllo con quella classe CSS.

+0

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

2

Grazie Assumendo che il casella di controllo è l'unico elemento della pagina con la classe di casella:

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

pls controlla il mio codice aggiornato – Laziale

9

provare ...

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

per favore controlla il mio codice aggiornato – Laziale

0

Aggiungere un attributo di dati alla casella di controllo e utilizzare la funzione 'hasClass' fornita da jQuery. Come di seguito:

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

Problemi correlati