8

チェックボックスのリストがあり、それぞれのステータスを取得したいと考えています。リストはこちら:

<div data-role="fieldcontain">
    <fieldset data-role="controlgroup">
       <input type="checkbox" name="Sunday" id="Sunday-1" class="custom" />
       <label for="Sunday-1">Sunday</label>
       <input type="checkbox" name="Monday" id="Monday-1" class="custom" />
       <label for="Monday-1">Monday</label>
       <input type="checkbox" name="Tuesday" id="Tuesday-1" class="custom" />
       <label for="Tuesday-1">Tuesday</label>
  </fieldset>
</div>

私は通常、この引用を使用してチェックボックスのステータスを確認します。

var isChecked = $('#CheckboxID').is(':checked');

しかし、私の場合、「Jquery Mobile」チェックボックスのステータスを一度に取得する方法はありますか?

4

4 に答える 4

27

できるよ

var status = $('input[type="checkbox"]').filter('.custom').map(function(){
    return $(this).is(':checked') ? 1 : 0;

});

次に、status arrayチェックボックスごとに同じ順序で、0チェックされていないものとチェックされているもののエントリがあり1ます。配列内のチェックボックスに関する他の情報がないため、あまり役に立ちません。

に基づいて操作を実行したい場合は、代わりに次のようにstatus使用できます。.each()

$('input[type="checkbox"]').filter('.custom').each(function(){
   if($(this).is(':checked')){
     // perform operation for checked
   }
   else{
     // perform operation for unchecked
   }

});

アップデート

array of objectsチェックボックスのを使用してビルドする場合はname and status、次のように実行できます。

var status = $('input[type="checkbox"]').filter('.custom').map(function(){
    var name = $(this).attr('name'); 
    if($(this).is(':checked'))
         return { 'name':name, 'status' : 'Checked'}; 
    else
        return { 'name':name, 'status' : 'UnChecked'};

});

console.log(status);​

デモ: http: //jsfiddle.net/joycse06/rL3Ze/

.each()とについてもっと読む.map()

于 2012-06-21T13:14:00.470 に答える
3

jQueryの各関数を使用できますhttp://api.jquery.com/jQuery.each/

.each 関数は、チェックボックスをトラバースするのに役立ちます

于 2012-06-21T13:15:45.763 に答える
3

私はこのコードを持っています。あなたのケースに合わせるべきだと思います。

  $('#formfriends input[type=checkbox]').each(function() {
    if ($(this).attr('checked'))
     //$(this).attr('disabled' , true);
     // do what you want here
  });
于 2012-06-21T13:13:08.280 に答える
2

jQm 1.3の場合、ラッパーdivのラベルのクラスを確認する必要がありました

  • ui-チェックボックスオフ
  • ui-チェックボックスオン

サンプルコード (すでに jQm によってレンダリングされています):

<div class="ui-checkbox">
  <label data-corners="true" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-icon="checkbox-off" data-theme="a" data-mini="false" class="ui-checkbox-off ui-btn ui-btn-corner-all ui-fullsize ui-btn-icon-left ui-btn-up-a">
    <span class="ui-btn-inner">
      <span class="ui-btn-text">
        myLabel
      </span>
      <span class="ui-icon ui-icon-checkbox-off ui-icon-shadow">&nbsp;</span>
    </span>
  </label>
  <input type="checkbox" name="flip-num" class="flip-num">
</div>
于 2013-04-05T10:49:25.890 に答える