9

私は jQuery Mobile を使用しており、いくつかの設定を Cookie に保存しています。設定ページがリロードされると、Cookie を読み取ってすべての値を設定します。フリップ トグル スイッチの設定に問題があります。ほとんどの要素は、keyupまたはchangedイベントをトリガーする必要がありますが、フリップ トグルが選択ボックスから値を取得する方法がわかりません。何か案は?

4

6 に答える 6

24

スイッチの値を変更した後、アニメーションを切り替えるためにスイッチを更新する必要があります。

$('#Switch2').val('on').slider("refresh");
于 2011-06-23T20:39:14.427 に答える
3

壊れたようです。

ページhttp://jquerymobile.com/demos/1.0a2/#docs/forms/forms-switch.htmlに移動し、 firebug コンソールを使用して以下を実行します。

$('#slider2').val('on').trigger('keyup');

スイッチの「オン」部分の幅を変更しますが、スライダーは動かしません。

したがって、答えは次のとおりです。JQMのリリースを待ちます:)

ここで発行されたバグ: https://github.com/jquery/jquery-mobile/issues/issue/676

于 2010-12-14T08:18:58.980 に答える
1

通常の HTML のように select に値を設定するだけで、フリップ トグル スイッチが自動的に選択されると思います。すなわち

<select name="slider" id="slider" data-role="slider">
  <option value="off">Off</option>
  <option value="on" selected="selected">On</option>
</select>
于 2010-12-07T00:39:09.077 に答える
0

を使用$('#slider2').val('on')すると、想定どおりに値が変更されます。ただし、 などの CSS クラスを に追加したり、ui-btn-activeからoptionそのクラスを削除したりしませんoption。を動的に変更する場合はoption、これらの部分を手動で処理する必要があります (jQuery Mobile ではありません)。

于 2011-04-21T13:41:40.810 に答える
0

これは私のために働く:

 if (someCondition) {
         $('#slider').val('off');
     }
     else {
         $('#slider').val('on');
     }
     try {
         $('#slider').slider("refresh");
     }
     catch (err) {
         console.log ("Error occurred refreshing slider (probabily first time!)");
     }
于 2012-10-19T13:14:06.890 に答える