ホームページ  >  記事  >  ウェブフロントエンド  >  2つのselect間のオプションの相互加算操作(jquery実装)_jquery

2つのselect間のオプションの相互加算操作(jquery実装)_jquery

WBOY
WBOYオリジナル
2016-05-16 18:41:521166ブラウズ

私は非常に単純な 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() "]))"));
}
};


打包下ダウンロード
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。