私は非常に単純な jquery プラグインを作成しました。これは、ページ内の関数を呼び出すことで実装できます。
プラグイン ソース コード (listtolist.js):
/**
fromid: ソース リストの ID。
toid: ターゲット リストの ID。
moveOrAppend パラメータ ("move" または "append"):
move -- で選択されたオプション。ソース リストが削除されます。ソース リストで選択されたオプションはターゲット リストに移動されます。ターゲット リストに既に存在する場合、オプションは追加されません。ソース リストで選択されたオプションは追加されません。ソースリストで選択されたオプションはターゲットに追加されます。リストの後に、ターゲットリストがすでに存在する場合、オプションは追加されません。
isAll パラメータ (true または false)。すべて移動または追加
*/
jQuery.listTolist = function(fromid,toid,moveOrAppend,isAll) {
if(moveOrAppend.toLowerCase() == "移動") { / /Move
if(isAll == true) { //すべて移動
$("#" fromid " option").each(function() {
ターゲット リスト。オプションはターゲット リストにすでに存在します。
$(this).appendTo($("#" toid ":not(:has(option[value=" $(this). val() "]))") );
}; this).val() "]))")); // ターゲット リストに存在する既存のオプションは移動されておらず、 "]").length > 0 ) {
() "]").get(0)); 🎜> if(isAll = = true) {
$("#" fromid " option").each(function() {
$("")
.val($(this).val())
.text($(this).text())
.appendTo ($("#" toid ":not(:option[value= " $(this).val() "]))");
}); :selected").each( ) {
.text())
.app endTo($("#" toid ":not(:has(option[value=" $(this).val() "]))" ));
})
}
}
};
/**
機能は基本的に上記と同じです (「移動」)。
違いは、ソース リストで選択したオプションがターゲット リストに存在する場合、ソース リストのオプションは削除されないことです。 🎜>
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() "]))"));
}
};
打包下ダウンロード