<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>
我有单选按钮必须有默认值..当我选择一个并提交然后我回到页面时,值必须保留..
任何想法我该怎么做?
答案 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);
}
答案 1 :(得分:0)
客户端您希望使用cookie来存储信息。在服务器端,您可以使用会话变量。
这取决于您的环境,但您基本上保存用户提交的内容并在输出表单时检查该值。
答案 2 :(得分:0)
基本上有两种方法可以做到这一点。
但不管怎样,主要的一点是,必须改变无线电元素的默认值。您可以使用serverside脚本来提供新的默认值,或使用cookie来获取新的默认值。