2012-03-18 7 views
0

The documentationが使用することを述べているコールバックでjQueryのモバイルのチェックボックスを移入しますそのチェックは表示されなくなり、コールバックの実行時にプログラムで表示されます。はプログラム

解決策にはおそらくリフレッシュ方法が含まれています。

答えて

9

あなたは戻ってそれをオンにするチェックボックスをオフにして

$(this).prop('checked',true).checkboxradio('refresh'); 

する

$(this).removeAttr('checked').checkboxradio('refresh'); 

を使用します。

$('input:checkbox').on('change', function(myEvent, ui) { 
    var settings = {}; 
    settings.data = {}; 
    settings.data.PersonID = $(this).val(); 
    settings.data.EvntID = $('#EvntID').val(); 

    if ($(this).is(':checked')) { 
     $(this).removeAttr('checked').checkboxradio('refresh'); 
     settings.data.method = 'check'; 
     settings.context = this; 
     myXHR = $(this).myAjax('Evnt.cfc',settings); 
     myXHR.done(function(result) { 
      if (!result.MSG) { 
       $(this).prop('checked',true).checkboxradio('refresh'); 
      } 
     }); 
    } else { 
     $(this).prop('checked',true).checkboxradio('refresh'); 
     settings.data.method = 'uncheck'; 
     myXHR = $(this).myAjax('Evnt.cfc',settings); 
     myXHR.done(function(result) { 
      if (!result.MSG) { 
       $(this).removeAttr('checked').checkboxradio('refresh'); 
      } 
     }); 
    } 
}); 
+1

$(this).prop( 'checked'、bool).checkboxradio( 'refresh');私のために働いた。ありがとう! – pliski

+0

はい、私はそれが新しい暑さだと思います。今、何が正しいのですか?私は私の答えを編集する必要がありますか? –

+0

実際には両方とも動作していますが、私はbooleanを受け入れるので、私はif文を避けるため、propソリューションを好んでいました。 – pliski