2

私のサイトは2種類の検索を備えた検索エンジンのようなものです。タイプ1タイプ2。誰かが私のサイトに来たときに、デフォルトのチェックされたタイプがタイプ1であり、タイプ2を選択した場合、ページが更新されても訪問者に対してタイプ2のままにする方法がわかりません。私が正確に必要としているのは、ここからのサンプルのようなものです。

js

$(function() {
        $( "#radio" ).buttonset();
    });​

html

<form>
    <div id="radio">
        <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label>
        <input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label>
        <input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label>
    </div>
</form>

checked="checked"をラジオから別のラジオなどに切り替えられるようにしたいと思います。本当にわからない。しかし、私はそれがphpまたはjavascriptで何かをしなければならないと思います。

4

4 に答える 4

3

セットオプションをどこかにキャッシュ/保存し(cookie、データベース、memcache(d)、redisなど)、ユーザーのIDを使用してロードする必要があります。これもクライアント側に関係するため、Javascriptで処理する必要があります。

Cookieリファレンスhttps ://developer.mozilla.org/en-US/docs/DOM/document.cookie

memcache(d)、redis、SQL、ファイルストレージの場合:

AJAXリファレンスhttps ://developer.mozilla.org/en-US/docs/AJAX

于 2012-09-26T19:56:17.760 に答える
1

ラジオボタンのonClickイベントで関数を定義できます。

$(document).ready(function() {
  $('radio[name=radio]').each(function() {
   $(this).click(function() {
    my_function();
    });
   });
});
于 2012-09-26T20:00:35.263 に答える
1

my_functionは、チェックされたラジオの値を保持するために、セッションを開くためのajaxリクエストを送信します。

my_function()
{
   var value_checked = $("input[name='radio']:checked").val();
   $.ajax({
   type: 'POST',
   url: 'page.php',
   data: {'value_checked':value_checked},
   });
}

page.php $ _POST ['value_checked']を取得し、それをセッション変数に設定します

于 2012-09-26T20:06:28.273 に答える
0

Webはステートレスであり、どこかにキャッシュされない限り、ページがポストバックされてもページのステータスを記憶しないため、その情報をCookieまたはセッションに保存する必要があります。

jQuerycookieプラグインを使用してみてください

于 2012-09-26T20:03:19.360 に答える