s:checkboxlist s:checkbox 初始值设置

整了差不多一天了,查了不少资料,资料虽多,但感觉很难找到直接可以用的,经过和同事们的推导,终于算是实现了。

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

  所以选择了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>   
   view plaincopy to clipboardprint?
<s:checkboxlist name="chostypes" list="#request.allTypeList" listKey="id" listValue="msgtypename" value="#request.chooseTypeList">  
</s:checkboxlist>  
<s:checkboxlist name="chostypes" list="#request.allTypeList" listKey="id" listValue="msgtypename" value="#request.chooseTypeList">
</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>  
  view plaincopy to clipboardprint?
<%@ page language="java" pageEncoding="utf-8"%>  
<%@ taglib prefix="s" uri="/struts-tags" %>  
<html>  
<body>  
  
<!-- 全部 -->  
<property value="#request.allTypeList"/>  
<div id="allTypes" >  
    <s:iterator value="#request.allTypeList" id="alltype">  
       <input type="checkbox" lang="<s:property value="#alltype.id"/>"/><s:property value="#alltype.msgtypename"/>  
    </s:iterator>  
</div>  
  
<!-- 已经选中的 -->  
<div id="ischecked" style="display: none" mce_style="display: none">  
    <s:iterator value="#request.chooseTypeList" id="choosetype">  
            <span><s:property value='#choosetype.infortypeid'/></span>  
    </s:iterator>  
</div>  
  
<mce:script type="text/javascript"><!--   
$(document).ready(function (){   
    $("#ischecked").find("span").each(function(){   
        var checkVal=$(this).html();   
        $("#allTypes").find("input").each(function(){   
            var thisLang=$(this).attr("lang");   
            if(checkVal==thisLang){   
                $(this).attr("checked",true);   
            }          
        });   
    });   
       
  
});   
// --></mce:script>  
</html>  
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<body>

<!-- 全部 -->
<property value="#request.allTypeList"/>
<div id="allTypes" >
	<s:iterator value="#request.allTypeList" id="alltype">
	   <input type="checkbox" lang="<s:property value="#alltype.id"/>"/><s:property value="#alltype.msgtypename"/>
	</s:iterator>
</div>

<!-- 已经选中的 -->
<div id="ischecked" style="display: none" mce_style="display: none">
	<s:iterator value="#request.chooseTypeList" id="choosetype">
			<span><s:property value='#choosetype.infortypeid'/></span>
	</s:iterator>
</div>

<mce:script type="text/javascript"><!--
$(document).ready(function (){
	$("#ischecked").find("span").each(function(){
		var checkVal=$(this).html();
		$("#allTypes").find("input").each(function(){
			var thisLang=$(this).attr("lang");
			if(checkVal==thisLang){
				$(this).attr("checked",true);
			}		
		});
	});
	

});
// --></mce:script>
</html>


            

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



本文来自CSDN博客,转载请标明出处:
 http://blog.csdn.net/bolink5/archive/2010/02/01/5278215.aspx 
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值