我搜索了这个网站和网络,但我没有发现任何可以解决我问题的内容。
我有4个电台,如果你选择显示/隐藏包含4个注册表格的div。这非常有效。
我有2个选择由包含和国家/地区填充。这非常有效。
我有两个问题:
1)我的问题是,如果您更新页面或用户单击提交按钮,div将消失,即页面返回其初始状态。
我希望显示的div保持可见,即使刷新页面或模块验证有错误。
2)第二个问题总是当你重新加载页面2选择包含“大陆”和国家,它们返回到初始状态时,我不会留在用户做出的选择上。
我希望即使刷新页面,用户选择的大陆和国家仍然会被选中
我最近在学习jquery。
我希望有人帮我一把。
我希望尽可能清楚。
抱歉英语不好。
这是html代码:
<select id="continent" onchange="countryChange(this);" class="elementiForm">
<option value="empty">Seleziona un Continente</option>
<option value="Europa">Europa</option>
<option value="Nord America">Nord America</option>
<option value="Sud America">South America</option>
<option value="Asia">Asia</option>
<option value="Oceania">Oceania</option>
<option value="Africa">Africa</option>
</select>
<label for="country" class="labelForm">Seleziona uno Stato</label>
<select id="country" class="elementiForm">
<option value="0" >Seleziona uno Stato</option>
</select>
<!-- below the div that contain the headlights form -->
<div id="contatti_RS" class="red box">
societa form here ...
</div>
<div id="privato" class="green box">
privato form here ...
</div>
<div id="ditta_professionista" class="blue box">
ditta_professionista form here ...
</div>
<div id="associazione" class="black box">
associazione form here ...
</div>
这是我显示/隐藏div的jquery
$(document).ready(function () {
$('input[type="radio"]').click(function(){
if($(this).attr("value")=="societa"){
$(".box").hide();
$(".red").show();
}
if($(this).attr("value")=="privato"){
$(".box").hide();
$(".green").show();
}
if($(this).attr("value")=="ditta_professionista"){
$(".box").hide();
$(".blue").show();
}
if($(this).attr("value")=="associazione"){
$(".box").hide();
$(".black").show();
}
});
这是我的jquery控制是否在页面刷新时选择广播
$(function()
{
$('input[type=radio]').each(function()
{
var state = JSON.parse( localStorage.getItem('radio_' + this.id) );
if (state) this.checked = state.checked;
});
});
$(window).bind('unload', function()
{
$('input[type=radio]').each(function()
{
localStorage.setItem(
'radio_' + this.id, JSON.stringify({checked: this.checked})
);
});
});
答案 0 :(得分:0)
如果可能,请使用AJAX(jQuery get或post)
如果无法使用AJAX,您可以记住cookie中的设置。例如。你可以设置
exp = Date.now();
exp += 84600000; //validity one day
document.cookie = "mycookie=" + some_value + "expires=" +
(new Date(d)).toGMTString();
重新加载后,然后解析cookie(Read a javascript cookie by name)并相应地设置页面状态。