s:checkboxlist s:checkbox 初始值设置

来源:互联网 发布:淘宝店最高等级是什么 编辑:程序博客网 时间:2024/04/30 09:30
整了差不多一天了,查了不少资料,资料虽多,但感觉很难找到直接可以用的,经过和同事们的推导,终于算是实现了。

   先说下需求,我要实现的效果是,如:角色总共有 超级管理员、管理员、财务、高级客户、普通客户,但此人的角色是管理员和普通客户。也就是说在要修改这个人角色的时候,要把所有的角色查询出来,并把他的角色自动打勾。

  所以选择了S2的标签 s:checkboxlist

    前台jsp代码很简单只要区区一行代码
Java代码
  1.    view plaincopy to clipboardprint?   
  2. <s:checkboxlist name="chostypes" list="#request.allTypeList" listKey="id" listValue="msgtypename" value="#request.chooseTypeList">     
  3. </s:checkboxlist>     
  4. <s:checkboxlist name="chostypes" list="#request.allTypeList" listKey="id" listValue="msgtypename" value="#request.chooseTypeList">   
  5. </s:checkboxlist>   

   
     

   下面逐个解释下参数的含义:

name 属性不可少,你可以自己取名字。

list  所有的角色(数据库中的存在的所有角色,值为一个list)

listKey 和 listValue 对应的值是一个bean中的值,并有相应的get和set方法。

listKey 是所有角色中的 ID属性

listValue 就是角色的名称

value 中的值是选中的角色(必须是一个list,并且保存的是字符串,即使是id属性也要转化为字符串)

如此就结束了。

   

    方法二、 采用js控制

     相关代码帖下就OK了
Java代码
  1.   view plaincopy to clipboardprint?   
  2. <%@ page language="java" pageEncoding="utf-8"%>     
  3. <%@ taglib prefix="s" uri="/struts-tags" %>     
  4. <html>     
  5. <body>     
  6.      
  7. <!-- 全部 -->     
  8. <property value="#request.allTypeList"/>     
  9. <div id="allTypes" >     
  10.     <s:iterator value="#request.allTypeList" id="alltype">     
  11.        <input type="checkbox" lang="<s:property value="#alltype.id"/>"/><s:property value="#alltype.msgtypename"/>     
  12.     </s:iterator>     
  13. </div>     
  14.      
  15. <!-- 已经选中的 -->     
  16. <div id="ischecked" style="display: none" mce_style="display: none">     
  17.     <s:iterator value="#request.chooseTypeList" id="choosetype">     
  18.             <span><s:property value='#choosetype.infortypeid'/></span>     
  19.     </s:iterator>     
  20. </div>     
  21.      
  22. <mce:script type="text/javascript"><!--      
  23. $(document).ready(function (){      
  24.     $("#ischecked").find("span").each(function(){      
  25.         var checkVal=$(this).html();      
  26.         $("#allTypes").find("input").each(function(){      
  27.             var thisLang=$(this).attr("lang");      
  28.             if(checkVal==thisLang){      
  29.                 $(this).attr("checked",true);      
  30.             }             
  31.         });      
  32.     });      
  33.           
  34.      
  35. });      
  36. // --></mce:script>     
  37. </html>     
  38. <%@ page language="java" pageEncoding="utf-8"%>   
  39. <%@ taglib prefix="s" uri="/struts-tags" %>   
  40. <html>   
  41. <body>   
  42.   
  43. <!-- 全部 -->   
  44. <property value="#request.allTypeList"/>   
  45. <div id="allTypes" >   
  46.     <s:iterator value="#request.allTypeList" id="alltype">   
  47.        <input type="checkbox" lang="<s:property value="#alltype.id"/>"/><s:property value="#alltype.msgtypename"/>   
  48.     </s:iterator>   
  49. </div>   
  50.   
  51. <!-- 已经选中的 -->   
  52. <div id="ischecked" style="display: none" mce_style="display: none">   
  53.     <s:iterator value="#request.chooseTypeList" id="choosetype">   
  54.             <span><s:property value='#choosetype.infortypeid'/></span>   
  55.     </s:iterator>   
  56. </div>   
  57.   
  58. <mce:script type="text/javascript"><!--   
  59. $(document).ready(function (){   
  60.     $("#ischecked").find("span").each(function(){   
  61.         var checkVal=$(this).html();   
  62.         $("#allTypes").find("input").each(function(){   
  63.             var thisLang=$(this).attr("lang");   
  64.             if(checkVal==thisLang){   
  65.                 $(this).attr("checked",true);   
  66.             }          
  67.         });   
  68.     });   
  69.        
  70.   
  71. });   
  72. // --></mce:script>   
  73. </html>  

            

   简单总结下,希望能对碰到类似问题的人点帮助。



本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/bolink5/archive/2010/02/01/5278215.aspx 
0 0
原创粉丝点击