用javaScript实现两个复选框之间选项的移动和提交目标框中的选项

[size=small]用javaScript实现两个复选框之间选项的移动和提交目标框中的选项

HTML的写法

view plain
<select size="10" multiple="multiple" id="allChoices"><!--注意multiple属性-->
<option value="1">tom</option>
<option value="2">jim</option
<option value="3">kate</option>
</select>
<input type="button" value="添加" id="inbutton"/>
<input type="button" value="移除" id="outbutton"/>
<select size="10" multiple="multiple" id="target"></select>
<div>
<input type="submit" class="button" value="保存"/>
<input type="hidden" id="selectedvalues" value=""/>
<!--为了记录目前选中的值,每次移动都会触发隐藏域 值的改变-->
</div>


实现复选框之间选项的移动

思路:当点击添加时,会触发对第一个复选框中选中状态的option循环,依次添加到另一个复选框中,点击移除时同理

view plain
$(document).ready(function(){
$("#inbutton").click(function(){
$("#allChoices option:selected").each(function(){
$("#target").append($(this));
});
});
$("#outbutton").click(function(){
$("#target option:selected").each(function(){
$("#allChoices").append($(this));
});
});
});


那么如何将选中的option的诸值向后台传递呢?

个人认为有两种思路:

①用隐藏域监听移动的操作,最后提交隐藏域的值

view plain
$(document).ready(function(){



$("#inbutton").click(function(){
$("#allChoices option:selected").each(function(){
$("#hiddenUser").val($("#hiddenUser").val()+","+$(this).val());
$("#selectuser").append($(this));
});

var v = $("#hiddenUser").val();
if(v.indexOf(',')==0) {
v=v.substring(1,v.length);
}
$("#hiddenUser").val(v);//获得的结果形如1,2,3

});

$("#outbutton").click(function(){
$("#selectuser option:selected").each(function(){
$("#alluser").append($(this));
});

$("#hiddenUser").val("");
$("#selectuser option").each(function(){
$("#hiddenUser").val($("#hiddenUser").val()+","+$(this).val());
});

var v = $("#hiddenUser").val();
if(v.indexOf(',')==0) {
v=v.substring(1,v.length);
}
$("#hiddenUser").val(v);

});


});


②不管中间的操作过程,只是在提交时获取目标框中的各option的值

view plain
$("#selectuser option").each(function(){
$("#hiddenUser").val($("#hiddenUser").val()+","+$(this).val());
});
[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值