如何用ajax实现,刷新页面时,页面设置的下拉菜单(select)、raido保持不变?
<selectname="sex"id="sex"><optionvalue="01">男</opton><optionvalue="02">女</opton></sel...
<select name="sex" id="sex">
<option value="01" >男</opton>
<option value="02" >女</opton>
</select>
<input id="s1" type="radio" name="xueli" value="0" />本科
<input id="s2" type="radio" name="xueli" value="1" />专科
要达到的目的是开始是设置为男、专科,刷新页面后,页面显示仍是男、专科。 展开
<option value="01" >男</opton>
<option value="02" >女</opton>
</select>
<input id="s1" type="radio" name="xueli" value="0" />本科
<input id="s2" type="radio" name="xueli" value="1" />专科
要达到的目的是开始是设置为男、专科,刷新页面后,页面显示仍是男、专科。 展开
展开全部
刷新页面时,要使下拉菜单(select)、raido保持不变,用ajax是无法实现的。我想只能通过cookies才能实现。刷新前先把select或radio的值保存在cookies中,刷新后再填回去。下面是测试代码:
<select name="sex" id="sex" onchange="save()">
<option value="01" selected >男</opton>
<option value="02" >女</opton>
</select>
<input id="s1" type="radio" name="xueli" value="0" onclick="save()"/>本科
<input id="s2" type="radio" name="xueli" value="1" checked onclick="save()"/>专科
<script language="javascript" type="text/javascript">
function save() {
selectIndex = document.getElementById("sex").selectedIndex;
document.cookie = 'selectIndex =' + selectIndex;
radios = document.getElementsByName("xueli");
for (i = 0; i < radios.length; i++) {
if (radios[i].checked) document.cookie = 'radioindex =' + i;
}
}
window.onload = function () {
var cooki = document.cookie;
if (cooki != "") {
cooki = "{\"" + cooki + "\"}";
cooki = cooki.replace(/\s*/g, "").replace(/=/g, '":"').replace(/;/g, '","');
var json = eval("(" + cooki + ")"); //将coolies转成json对象
document.getElementById("sex").options[json.selectIndex].selected = true;
document.getElementsByName("xueli")[json.radioindex].checked = true;
}
else
save();
}
</script>
<select name="sex" id="sex" onchange="save()">
<option value="01" selected >男</opton>
<option value="02" >女</opton>
</select>
<input id="s1" type="radio" name="xueli" value="0" onclick="save()"/>本科
<input id="s2" type="radio" name="xueli" value="1" checked onclick="save()"/>专科
<script language="javascript" type="text/javascript">
function save() {
selectIndex = document.getElementById("sex").selectedIndex;
document.cookie = 'selectIndex =' + selectIndex;
radios = document.getElementsByName("xueli");
for (i = 0; i < radios.length; i++) {
if (radios[i].checked) document.cookie = 'radioindex =' + i;
}
}
window.onload = function () {
var cooki = document.cookie;
if (cooki != "") {
cooki = "{\"" + cooki + "\"}";
cooki = cooki.replace(/\s*/g, "").replace(/=/g, '":"').replace(/;/g, '","');
var json = eval("(" + cooki + ")"); //将coolies转成json对象
document.getElementById("sex").options[json.selectIndex].selected = true;
document.getElementsByName("xueli")[json.radioindex].checked = true;
}
else
save();
}
</script>
展开全部
这个功能不要用AJAX去做。。也没人这样去做,你在LOAD事件里,每次刷新把select、raido的值都设定一下就OK了 比如设置 select 的最小选定项是哪个 哪个radio 的 值是true.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Ajax进行局部刷新就行了,你需要更新的才去更新,
你不希望更新这个下拉菜单就别去动
如果你用Ajax提交整个页面刷新,那就没有Ajax的意义了
你不希望更新这个下拉菜单就别去动
如果你用Ajax提交整个页面刷新,那就没有Ajax的意义了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<select name="sex" id="sex">
<option value="01" selected >男</opton>
<option value="02" >女</opton>
</select>
<input id="s1" type="radio" name="xueli" value="0" />本科
<input id="s2" type="radio" name="xueli" value="1" checked/>专科
<option value="01" selected >男</opton>
<option value="02" >女</opton>
</select>
<input id="s1" type="radio" name="xueli" value="0" />本科
<input id="s2" type="radio" name="xueli" value="1" checked/>专科
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询