6

私はこの問題に対処するために髪を引っ張っています。これらは私が使用し、前述の問題を引き起こしたコードです。

$(document).ready(function () {
    $("#at-site-btn").bind("tap", function () {
        $.mobile.changePage("view/dialog/at-site.php", { transition:"slidedown", role:"dialog" });
    });
    $('#at-site-page').live('pagecreate', function(){
        var $checked_emp    = $("input[type=checkbox]:checked");
        var $this           = $(this);
        var $msg            = $this.find("#at-site-msg");
        $checked_emp.appendTo($msg);
        $checked_emp.trigger('create');
        $msg.trigger('create');
        $(document).trigger('create');
        $this.trigger('create');
        $("html").trigger('create');

    });
});

説明:

上記のコードは、hod.phpという名前のファイルにあります。このファイルには、いくつかのチェックボックスが含まれています。これらのチェックボックスは同時にチェックされ、#at-site-btnボタンを押すと、at-site.phpが(ダイアログとして)表示され、チェックされたすべてのチェックボックスが表示されます。

ここで問題が発生しました。ダイアログの戻るボタンを押して前のページに戻り、これらのチェックボックスをオフにしようとすると、タイトルに記載されているようにエラーが表示されます。私のコードには「refreshmethod」の呼び出しがないため、これを修正する方法がわかりません。

  1. 誰かがこの問題を解決する方法を提案できますか?
  2. 私はそれを正しく使用していますか?(私はjQuery Mobileを初めて使用します。JQMの使用の背後にある概念がある場合は、それを説明してください[JQMドキュメントを読んでみましたが、私にはわかりにくいようです])。

よろしくお願いいたします。ご回答ありがとうございます。

4

2 に答える 2

16

どのバージョンのjQueryMobileを使用していますか?pageinitの代わりに使用する必要があるかもしれませんpagecreatejQueryMobileドキュメントのこの部分では、選択肢について説明しています。

再ペイントまたは作成の場合、@ Taifunが指摘し たソリューションは、次のようになります。

$("input[type='radio']").checkboxradio();
$("input[type='radio']").checkboxradio("refresh");
私にとっては問題なく動作しましたが、コントロールが100%正しくペイントされませんでした。ラジオボタンのエッジが丸みを帯びた角でペイントされませんでした。

あなたのコードを見る前に、私はあなたがコンテナオブジェクトを呼び出すことができ、それが私のために働いたことをここで読みました。あなたはそれをやっていますが、ではなく.trigger('create')内部です。pagecreatepageinit

于 2013-03-02T23:22:38.317 に答える
0

私は実際にフリップスイッチチェックボックスを使用していました:

<div class="some-checkbox-area">
    <input type="checkbox" data-role="flipswitch" name="flip-checkbox-lesson-complete"
           data-on-text="Complete" data-off-text="Incomplete" data-wrapper-class="custom-size-flipswitch">
</div>

だからこれをしなければならなかった

$("div.ui-page-active div.some-checkbox-area div.ui-flipswitch input[type=checkbox]").attr("checked", true).flipswitch( "refresh" ) 

ここで私の完全な答えを参照してください。

于 2021-05-29T09:48:54.517 に答える