2012-09-12 26 views
6

Sto impostando il jquery caselle mobili come così ..Come Casella di controllo Valore jQuery Mobile

$("#checkbox-2a").attr("checked", settings.DEnabled).checkboxradio("refresh"); 

Ecco il markup

<fieldset data-role="controlgroup" data-mini="true" style="text-align:center;"> 
      <input type="checkbox" name="checkbox-2a" id="checkbox-2a" class="custom" /> 
      <label for="checkbox-2a"> 
       Enable D</label> 
.. 

Le caselle di controllo vengono controllati in modo corretto. Ma ora quando voglio recuperare un valore con questo codice ..

settings.DEnabled = $("#checkbox-2a").attr("checked"); 

Quando il debug restituisce 'controllato', quando guardo il markup vedevamo le caselle di controllo sono sempre aggiornati quando il corretto bool spunta nella ui . Non vedo un attributo 'checked' nel markup.

Come si ottiene/trova il valore della casella di controllo?

risposta

14

attr non restituisce un valore booleano, è possibile utilizzare il metodo prop: http://api.jquery.com/prop/#entry-examples

settings.DEnabled = $("#checkbox-2a").prop("checked"); 

O is metodo:

settings.DEnabled = $("#checkbox-2a").is(":checked"); 
Problemi correlati