2012-09-12 29 views
6

Tôi đang thiết jquery của tôi hộp kiểm điện thoại di động như vậy ..Bắt Value Checkbox Jquery Mobile

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

Dưới đây là đánh dấu

<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> 
.. 

Các hộp kiểm được kiểm tra một cách chính xác. Nhưng bây giờ khi tôi muốn lấy một giá trị với mã này ..

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

Khi tôi gỡ lỗi nó trở về 'kiểm tra', khi tôi nhìn vào đánh dấu kỉ niệm dù các hộp kiểm bên đang nhận được cập nhật khi bool kiểm tra chính xác trong ui . Tôi không thấy thuộc tính 'đã kiểm tra' trong đánh dấu.

Làm cách nào để nhận/tìm giá trị của hộp kiểm?

Trả lời

14

attr không trả lại một giá trị boolean, bạn có thể sử dụng phương pháp prop: http://api.jquery.com/prop/#entry-examples

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

Hoặc is phương pháp:

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