s:checkboxlist s:checkbox 初始值设置

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

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

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

    前台jsp代码很简单只要区区一行代码
   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了
  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
                            

你可能感兴趣的:(html,.net,bean,jsp,struts)