0

ページが更新されたときにチェックボックスをオンのままにしたいと思います。

実際、私のページは更新されただけではありません。つまり、ページネーションがあり、次のボタンを押すと、URL が次のように変わります。index.php?page=2

以下のコードは、ページを更新した後もボックスをチェックしたままにできますが、次のページをクリックすると失敗し、URL が上記のように変わります。

では、ボックスをチェックしたままにするにはどうすればよいですか?チェックボックスを付けてみ$_GET['page']ましたが、うまくいきません。

<form id="form" method="post" action="">
            <input type="checkbox" name="s" class="checkbox" <?=(isset($_POST['s'], $_GET['page'])?' checked':'')?>/> Small<br>
</form>

<script type="text/javascript">  
    $(function(){
     $('.checkbox').on('change',function(){
        $('#form').submit();
        });
    });
</script>

phpページIDを作成する部分です。上記のフォームの下にこのphpコードがあります。

if(isset($_GET['page']))
        {
            $page = $_GET['page'];
        }
        else
        {
            $page = 1;
        }


        /*
         * Set a few of the basic options for the class, replacing the URL with your own of course
         */
        $options = array(
            'results_per_page'              => 2,
            'url'                           => 'index.php?page=*VAR*',
            'db_handle'                     => $dbh
        );
4

1 に答える 1

1

最新のブラウザの場合、次localStorageのように使用できます

$(function(){
    var value = localStorage.input === 'true' ? true: false; // 1
    $('input').prop('checked', value || false);
});

$('input').on('change', function() {
    localStorage.input = $(this).is(':checked');
});

デモ: http://jsfiddle.net/CC2hC/1

入力が変更されたら、値を localStorage に保存し、ページが再度読み込まれると、そこに値またはデフォルトを適用するかどうかを確認します。false

古いブラウザーでは、おそらく Cookie またはデータベースを使用する必要があります。

prop はブール値を受け入れるのに対し、 localStorage// 1値はstring

于 2013-08-11T02:57:12.693 に答える