2012-04-20 3 views
1
<div class="formfield ship"> 
    <input type="radio" class="ship1" name="1" >1</input> 
    <input type="radio" class="ship2" name="1" >2</input> 
    <input type="radio" class="ship3" name="1" >3</input> 
    <div class="clear"><!-- FLOAT CLEAR --></div> 
</div> 

У меня есть радио кнопки один должен иметь значение по умолчанию .. когда я выбираю один и представить, а потом я вернусь на страницу значение должно сохранить ..Радиокнопка проверяется значение на пересматривают страницу

любая идея, как я могу это сделать?

+1

Какое значение по умолчанию? Один из них должен быть «выбран» в разметке? Определите «вернитесь на страницу». Если у вас есть серверный код, отображающий страницу, может ли он отображать элементы в состоянии, в котором они были отправлены? Где jQuery входит в это? – David

+0

Является ли ваш HTML-сервер серверным, или это просто статическая страница HTML? –

+0

первый переключатель установлен на первую загрузку страницы. –

ответ

1

это делает то, что вы хотите, - хотя вы должны немного изменить свой HTML (я не думаю, что <input></input> действует)

http://jsfiddle.net/malet/dvCpj/6/

$("input[type=radio]").each(function(){ 
    $(this).click(function(){  
     createCookie($(this).attr("name"), $($(this).siblings()[0]).html(),1);  
    }); 
}); 


$(document).ready(function(){ 
    $("input[type=radio]").each(function(){ 
     var selected = readCookie($(this).attr("name")); 
     if(selected != null){ 
      if($($(this).siblings()[0]).html() == selected){ 
       $(this).attr("checked","checked"); 
      }      
     }  
    }); 
}); 


function createCookie(name,value,days) { 
    if (days) { 
      var date = new Date(); 
      date.setTime(date.getTime()+(days*24*60*60*1000)); 
      var expires = "; expires="+date.toGMTString(); 
    } 
    else var expires = ""; 
    document.cookie = name+"="+value+expires+"; path=/"; 
} 

function readCookie(name) { 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0;i < ca.length;i++) { 
      var c = ca[i]; 
      while (c.charAt(0)==' ') c = c.substring(1,c.length); 
      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
    } 
    return null; 
} 

function eraseCookie(name) { 
    createCookie(name,"",-1); 
} 
​ 
+0

Спасибо. Это работало. –

0

На стороне клиента вы хотели бы использовать файл cookie для хранения информации. На стороне сервера вы можете использовать переменные сеанса.

Это зависит от вашей среды, но вы в основном сохраняете то, что пользователь представляет, и проверяя это значение при выводе формы.

0

В основном есть два способа вы можете сделать это.

  1. Печенье
  2. Серверные Языки, как PHP, ASP

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

Смежные вопросы