1

これはjQueryです:

$(document).on('change', '.ui-slider-switch', function () {
    if ($(this).val() == 'on') {
        $("#content1").hide();
        $("#content2").show();
    }
    else {
        $("#content1").show();
        $("#content2").hide();
    }
});

私のHTML:

<div id="switch" data-role="fieldcontain">      
    <select name="slider" id="flip-a" data-role="slider">
        <option value="off"></option>
        <option value="on"></option>
    </select>   
</div>

私のサイトでは、カスタム URL を使用することがあります (そして でデータを取得します$ _GET)。ページがリロードされると、$("#content2").show();代わりに常に取得しています$("#content1").show();

4

2 に答える 2

0

イベント ハンドラーのコードが実行されていますか? alert(つまり、またはそのようなものを使用してテストしましconsole.logたか?) ページがリロードされたばかりで、誰も (人またはコード) が選択の値を変更しなかった場合、ハンドラーは原則として実行されません。

ページ (または要素) の読み込みが完了したら、手動でイベントをトリガーすることをお勧めしchangeます。この方法で、正しい値がチェック/ダブル チェックされます。

$('.ui-slider-switch').trigger('change');

ページのリロードが完了した直後にコードが実行されることを確認してください。

于 2012-05-22T08:49:04.240 に答える
0

変更してみてください:

$(document).on('change', '.ui-slider-switch', function () {

に:

$(document).on('change', 'select[name=slider]', function () {
于 2012-05-22T08:09:55.730 に答える