使用JavaScript为将对应值设置成页面默认选项
2012-12-20 19:12
302 查看
最近要自己写一些站点,所以平时不碰的前端技术也要接触了。
本文主要讲述jsp中关于radio和select默认选中设置的问题。
1、select
比较机械的办法是用 c:if标签判断字段对应值来选择性输出。说他机械是因为若是几十个选项的话,可能要写几十次选项。
下面用js来实现。利用页面的隐藏标签存储后台的值,然后在js中dom取得隐藏标签的值,再设置为select的选项。
这是HTML中的select:
这是对应js中的方法,记得要在body中onload触发:
2、radio
正常的话,同理,页面设置一个隐藏值,然后通过js循环赋值。
不过这里有个需要注意的地方,radio的length只在不多于两个选项的时候,值为undefined,也就是说如果只有两个选项的话,是不能用隐藏值方法通过循环赋值的。这时候用判断赋值法倒是也不麻烦,如下:
用原生的js写是挺麻烦╮(╯_╰)╭,js中对于el表达式的支持不是很好。
本文主要讲述jsp中关于radio和select默认选中设置的问题。
1、select
比较机械的办法是用 c:if标签判断字段对应值来选择性输出。说他机械是因为若是几十个选项的话,可能要写几十次选项。
下面用js来实现。利用页面的隐藏标签存储后台的值,然后在js中dom取得隐藏标签的值,再设置为select的选项。
这是HTML中的select:
<input type="hidden" id="cdvalue" value="${comBase.comDeposit}" /> <SELECT name="comDeposit" id="comDeposit"> <OPTION value="-1"> 根据公司性质填写 </OPTION> <OPTION value="1"> 企业法人; </OPTION> <OPTION value="2"> 非法人企业; </OPTION> <OPTION value="3"> 机关; </OPTION> </SELECT>
这是对应js中的方法,记得要在body中onload触发:
function checkselected() { var selects = document.getElementById('comDeposit'); var selected = document.getElementById('cdvalue').value; if (selected === undefined || selected === null || selected === "") { return false; } for ( var i = 0; i < selects.options.length; i++) { if (selects.options[i].value === selected) { selects.options[i].selected = true; return true; break; } } }
2、radio
正常的话,同理,页面设置一个隐藏值,然后通过js循环赋值。
function checkradio() { var radio_oj = document.getElementById('legalOwner'); var aValue = document.getElementById('lovalue').value; alert(radio_oj.length); alert(aValue); for ( var i = 0; i < radio_oj.length; i++) { alert(radio_oj[i].value); if (radio_oj[i].value === aValue) { radio_oj[i].checked = true; break; } } }
不过这里有个需要注意的地方,radio的length只在不多于两个选项的时候,值为undefined,也就是说如果只有两个选项的话,是不能用隐藏值方法通过循环赋值的。这时候用判断赋值法倒是也不麻烦,如下:
<c:if test="${comBase.legalOwner==0}"> <input type="radio" id="legalOwner" name="legalOwner" value="0" checked="checked" /> 法定代表 <input type="radio" id="comOwner" name="legalOwner" value="1" /> 单位法定负责人 </c:if> <c:if test="${comBase.legalOwner==1}"> <input type="radio" id="legalOwner" name="legalOwner" value="0" /> 法定代表 <input type="radio" id="comOwner" name="legalOwner" value="1" checked="checked" /> 单位法定负责人 </c:if>
用原生的js写是挺麻烦╮(╯_╰)╭,js中对于el表达式的支持不是很好。
相关文章推荐
- JavaScript基础 下拉列表 使用js设置默认选中的选项 selectedIndex
- JavaScript基础 下拉列表 使用js设置默认选中的选项 selectedIndex
- javascript 设置select的默认选项
- 【MyEclipse使用教程】—如何设置jsp页面为默认utf-8编码
- 使用viewport的元数据、CSS和Javascript来为不同分辨率的屏幕设置合适的页面
- 【jQuery】使用ajaxSetup()方法设置全局Ajax默认选项
- WebView打开网页,设置支持Javascript,浏览的网页后退而不是退出浏览器,判断页面加载过程,缓存的使用
- javascript的高级使用,设置页面元素是否相应事件与显示“正在处理”对话框
- JavaScript通过使用onerror设置默认图像显示代替alt
- eclipse enable to open external editor 和 设置查看页面源代码的默认使用工具
- 转】MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码
- MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码
- 运行phpmyadmin的时候下方总是出现“wapm您配置文件中的设置 (空密码的 root) 与 MySQL 默认管理员账户对应。您的 MySQL 服务器使用默认值运行
- 使用jQuery制作高级炫酷吊炸天表单,页面加载完成文本框获得焦点,文本框设置默认文本,文本字数动态显示.....
- MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码
- AJAX请求 $.ajaxSetup方法的使用:设置AJAX请求的默认参数选项,当程序中需要发起多个AJAX请求时,则不用再为每一个请求配置请求的参数
- MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码
- MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码
- 使用JavaScript实现页面选项自动添加行以及删除行 javaweb
- MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码