2012-05-25 21 views
5

La funzione restituisce sempre false, anche se la casella di controllo è selezionata. Non potevo davvero reprimere quello che sto facendo male. Sto usando una casella di controllo per abilitare e disabilitare la casella di testo nella griglia. Tuttavia, non sembra funzionare. Grazie per l'aiuto. Ho pubblicato il codice html e jq qui sotto.JQuery Check per Checkbox è selezionato

codice 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 codice:

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

risposta

11

ASP.NET probabilmente non applica il valore di CssClass alla casella di controllo stessa, ma all'etichetta generata e/o all'elemento contenitore.

Provare a utilizzare il selettore :checkbox invece:

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

che ha funzionato ... grazie per il tuo prezioso suggerimento ... fantastico !! – Prince

+0

Voto in rialzo, grazie mille. Questo mi stava facendo impazzire. Come mi sono perso quando l'ispezione in HTML è al di fuori di me. – Lukas

+0

Oh mio Dio! Hai appena finito di strapparmi un mucchio di capelli. Grazie mille! –

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 
}); 

È possibile anche utilizzare il selettore

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

+0

grazie per la risposta ... ma ancora non funziona. l'avviso mostra sempre falso. – Prince

2

come la rete doesnt applicare la classe per la casella di controllo che si può fare qualcosa di simile.

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