Переключатель радио кнопок проверен php

Мой сайт похож на поисковик с двумя типами поиска. Тип 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>

Я хочу, чтобы иметь возможность переключить проверено = "проверено" с радио на другое или что-то вроде этого, я думаю. На самом деле не знаю. Но я думаю, что это связано с php или javascript.

4 ответа

Решение

Вам нужно было бы где-нибудь кешировать / сохранить опцию set (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

Вы можете определить функцию в событии onClick переключателя:

$(document).ready(function() {
  $('radio[name=radio]').each(function() {
   $(this).click(function() {
    my_function();
    });
   });
});

И 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 '] и устанавливаете его в переменной сеанса

Вы должны хранить эту информацию в файле cookie или сеансе, так как сеть не имеет состояния, и она не будет помнить статус страницы, если опубликована, пока она не будет где-то кэширована.

Попробуйте использовать плагин cookie jQuery

Другие вопросы по тегам