两个select之间php,两个select之间option的互相添加操作(jquery实现)_jquery

自己写了一个很简单的jquery插件,在页面中调用其中的函数就可实现.

插件源代码(listtolist.js):

/**

fromid:源list的id.

toid:目标list的id.

moveOrAppend参数("move"或者是"append"):

move -- 源list中选中的option会删除.源list中选中的option移动到目标list中,若目标list中已存在则该option不添加.

append -- 源list中选中的option不会删除.源list中选中的option添加到目标list的后面,若目标list中已存在则该option不添加.

isAll参数(true或者false):是否全部移动或添加

*/

jQuery.listTolist = function(fromid,toid,moveOrAppend,isAll) {

if(moveOrAppend.toLowerCase() == "move") { //移动

if(isAll == true) { //全部移动

$("#"+fromid+" option").each(function() {

//将源list中的option添加到目标list,当目标list中已有该option时不做任何操作.

$(this).appendTo($("#"+toid+":not(:has(option[value="+$(this).val()+"]))"));

});

$("#"+fromid).empty(); //清空源list

}

else if(isAll == false) {

$("#"+fromid+" option:selected").each(function() {

//将源list中的option添加到目标list,当目标list中已有该option时不做任何操作.

$(this).appendTo($("#"+toid+":not(:has(option[value="+$(this).val()+"]))"));

//目标list中已经存在的option并没有移动,仍旧在源list中,将其清空.

if($("#"+fromid+" option[value="+$(this).val()+"]").length > 0) {

$("#"+fromid).get(0)

.removeChild($("#"+fromid+" option[value="+$(this).val()+"]").get(0));

}

});

}

}

else if(moveOrAppend.toLowerCase() == "append") {

if(isAll == true) {

$("#"+fromid+" option").each(function() {

$("")

.val($(this).val())

.text($(this).text())

.appendTo($("#"+toid+":not(:has(option[value="+$(this).val()+"]))"));

});

}

else if(isAll == false) {

$("#"+fromid+" option:selected").each(function() {

$("")

.val($(this).val())

.text($(this).text())

.appendTo($("#"+toid+":not(:has(option[value="+$(this).val()+"]))"));

});

}

}

};

/**

功能大体同上("move").

不同之处在于当源list中的选中option在目标list中存在时,源list中的option不会删除.

isAll参数(true或者false):是否全部移动或添加

*/

jQuery.list2list = function(fromid,toid,isAll) {

if(isAll == true) {

$("#"+fromid+" option").each(function() {

$(this).appendTo($("#"+toid+":not(:has(option[value="+$(this).val()+"]))"));

});

}

else if(isAll == false) {

$("#"+fromid+" option:selected").each(function() {

$(this).appendTo($("#"+toid+":not(:has(option[value="+$(this).val()+"]))"));

});

}

};

打包下载

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值