Struts2 OptionTransferSelect标签 动态赋值

Struts2 OptionTransferSelect标签 动态赋值:

1、html片面:

<td class="td2">
    <s:optiontransferselect
	id="sysWard"
	doubleId="userWard"
	name="userDept"
	list="deptMap"
	listKey="key"
	listValue="value"
	multiple="true"
	headerKey="cnKey"
	leftTitle="选择部门向右添加"
	doubleList="deptNameMap"
	doubleListKey="key"
	doubleListValue="value"
	doubleName="userBean.placeDept"
	doubleHeaderKey="cnKey"
	rightTitle="科护士长管理科室"
	doubleMultiple="true"
	allowSelectAll="false"
	allowUpDownOnLeft="false"
	allowUpDownOnRight="false"
	addToLeftLabel="<<--向左"
	addToRightLabel="向右-->>"
	addAllToRightLabel="全选向右"
	addAllToLeftLabel="全选向左"
	cssClass="option"
	doubleCssClass="option"
    />
</td>
2、异步动态赋值:
// 选择科护士长 事件
$("#select_userBean").change(function(){
	$("#user_job_number").val($(this).val());

	$.ajax({
	    type:"post",
	    url:"ManagerDept_setSysDept_null_null",
	    data:{"userJobNumber":$("#user_job_number").val()},
	    async: false,
	    dataType:"json",
	    success:function(msg){
		var obj = eval(msg);
		$("#sysWard option").remove();//将select中的信息清空
		$.each(obj, function(key,value){
		    $("#sysWard").append("<option value="+key+">" + value + "</option>");
		});
	    }
	});
	$.ajax({
	    type:"post",
	    url:"ManagerDept_setUserDept_null_null",
	    data:{"userJobNumber":$("#user_job_number").val()},
	    async: false,
	    dataType:"json",
	    success:function(msg){
		var obj = eval(msg);
		$("#userWard option").remove();//将select中的信息清空
		$.each(obj, function(key,value){
			$("#userWard").append("<option value="+key+">" + value + "</option>");
		}); }
					});
				});
// 修改按钮 事件
$("#btn_updateManageDept").click(function(){
    var depts = "";
    $("#userWard").find("option").each(function(i){
	depts += $(this).val()+",";
    });
    depts = depts.substr(0,depts.length-1);
    $.ajax({
	type:"post",
	url:"ManagerDept_updateManagerDept_null_null",
	data:{"depts":depts,"userJobNumber":$("#user_job_number").val()},
	async: false,
	dataType:"json",
	success:function(msg){
	    if(msg == "1"){
		alert("更新成功!");
	    }else{
		alert("更新失败!");
	    }
	}
    });
});



********************************************************************************************************

关键点1:动态赋值:

$("#sysWard option").remove();//将select中的信息清空
$.each(obj, function(key,value){
    $("#sysWard").append("<option value="+key+">" + value + "</option>");
});
其实,就是获取分别获取左右的 select 选择框,并分别动态添加 <option>标签。

关键点2:jquery遍历Map:

$.each(obj, function(key,value){
    $("#userWard").append("<option value="+key+">" + value + "</option>");
});
如上代码,obj 对象时后台传递的Map对象,jquery 遍历 Map,不能像遍历Array一样,在function中传递i,作为数组索引。而是在function中传递两个参数 key 和 value,分别代表Map对象的key和value值。

关键点3:获取右边select的值:

var depts = "";
$("#userWard").find("option").each(function(i){
    depts += $(this).val()+",";
});
depts = depts.substr(0,depts.length-1);
获取右边 select 的值,不能知道获取。有两种方法,方法一:可以把右边框中的值设置全部选中,即将selected 属性设置为true;方法二:就如上文的获取select 选择框的值。

转载于:https://my.oschina.net/andy1989/blog/335890

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值