站长论坛
标题:
如何恢复select的默认值
[打印本页]
作者:
superadmin
时间:
2007-12-13 19:29
标题:
如何恢复select的默认值
<select name="selRegion" onchange="javascript:if(this.value=='北京'){if(confirm('您确定为北京吗??')) {this.value='北京';return false; }else {this.value='南京';return true;}}">
<option value='上海'>上海</option>
<option value='南京' selected>南京</option>
<option value='北京'>北京</option>
</select>
想要实现:默认值为"南京",当在下拉框中选择“北京”的时候,弹出确认对话框,如果确定则选中“北京”,否则恢复默认,还是将南京选中!
现在的问题是,在弹出确认对话框后,点“取消”了,还是将“北京”选中了!
注意,上面的代码中,我指定了取消后是南京,但请各位不要在JS中指定为南京,而是让它恢复成默认,因为默认选中的值在程序中是动态的!
请教各位!
多谢!
作者:
superadmin
时间:
2007-12-13 19:29
<select name="selRegion" id="selRegion" onchange="changeSelect(this)">
<option value='上海'>上海</option>
<option value='南京' selected="selected">南京</option>
<option value='北京'>北京</option>
</select>
<script type="text/javascript">
var selectDefault = document.getElementById("selRegion").selectedIndex;
function changeSelect(obj){
if(obj.options[obj.selectedIndex].value=="北京"){
if(!confirm('您确定为北京吗??')){
obj.options[selectDefault].selected = true;
}
}
}
</script>
改成这样看下,好像复杂点了
作者:
superadmin
时间:
2007-12-13 19:29
依据楼上思路写的一个简写版
<select name="selRegion" onclick="(!typeof(SRD)=='undefined')&&(SRD=this.selectedIndex);" onchange="if(this.value=='北京'){if(!confirm('您确定为北京吗??')){this.options[SRD].selected = true;}}">
<option value='上海'>上海</option>
<option value='南京' selected>南京</option>
<option value='北京'>北京</option>
</select>
但是这样做有一个BUG,以上面的例子为例
你选择上海,然后刷新页面.再次选择北京并取消,他将返回到上海!
由于select不能记录default selected,最好的办法还是动态返回默认选中值给页面
作者:
superadmin
时间:
2007-12-13 19:29
感谢大家!正如版主所说的那样,现在用动态返回值解决了!
欢迎光临 站长论坛 (http://tzlink.com/bbs/)
Powered by Discuz! X3.2