javascript和<c:out value=""/>的结合使用
当你和数据库交互数据的时候,我们可能在一个字段里存了很多信息,并且使用符号分隔开来,那么怎样才能分别得到每一段的信息呢?
比如说当你分期付款的时候,可能分好几个期次,那么我们应该怎么将他们分隔开,并且在现实的时候显示出已经选中的:
<input type="checkbox" name="stage1" id="stagei1" value=‘1期‘ type="checkbox" name="stage2" id="stagei3" value=‘3期‘ type="checkbox" name="stage3" id="stagei6" value=‘6期‘ type="checkbox" name="stage4" id="stagei12" value=‘12期‘ type="checkbox" name="stage5" id="stagei24" value=‘24期‘ onclick="check(this,‘checkbox33‘,‘24‘)"/>24期
<input type="hidden" id="inputid" name="bill" value=‘<c:out value="${form.bill}"/>‘/>
当我们选择了多个期数的时候(这里的期数使用的是数字1、3、6、12、24表示,并且用逗号分隔开。如:1,3)
那么一段字符串怎么样得到并分割呢?
可以直接把<c:out value=""/>的数据复制给一个变量,用split进行分割,可以加一段字符串验证一下
<script language=Javascript > function checkstage(){ var bill =‘<c:out value="${form.stage}"/>‘; var list =bill. split(‘,‘ ); for(var i=0 ;i< list.length ;i++){ if(!isStringNull (list[i])) document.getElementById ("stagei"+list[i] ).checked= true; } } </script>
这样当你选择多个的时候,也会显示出你选择的;别忘了在body里面加载onload="checkstage();"
上面if里面的判断是否为空的函数是我写在一个js文件里的,如下:
/** * 是否为空 * @param {Object} v * @return {TypeName} */ function isStringNull(v){ if(v == null || v.replace(/\s/g, "") == ‘‘){ return true; }else{ return false; } }
希望对大家有帮助!!!
本文出自 “my dream fly on the sky” 博客,请务必保留此出处http://7915791.blog.51cto.com/7905791/1410622
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。