>웹 프론트엔드 >JS 튜토리얼 >두 선택 사이의 옵션 상호 추가 작업(jquery 구현)_jquery

두 선택 사이의 옵션 상호 추가 작업(jquery 구현)_jquery

WBOY
WBOY원래의
2016-05-16 18:41:521221검색

페이지의 함수를 호출하여 구현할 수 있는 매우 간단한 jquery 플러그인을 작성했습니다.
플러그인 소스 코드(listtolist.js):

코드 복사 코드는 다음과 같습니다.

/**
fromid: 소스 목록의 ID
toid: 대상 목록의 ID
moveOrAppend 매개변수("move" 또는 "append"):
move - 소스 목록이 삭제됩니다. 소스 목록에서 선택한 옵션이 대상 목록에 이미 있는 경우 해당 옵션이 추가되지 않습니다.
append -- 소스 목록에서 선택한 옵션이 삭제됩니다. 소스 목록에서 선택한 옵션이 대상에 추가됩니다. 목록 이후 대상 목록이 이미 존재하는 경우 옵션이 추가되지 않습니다.

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).appendTo($("#" toid ":not(:has(option[value=" $( this).val() "]))")); // 대상 목록에 이미 존재하는 Option은 이동하지 않고 여전히 소스 목록에 있습니다.
if ("#"# "#" 옵션 [값 = "$(this). Val()"]").length > 0) {
                                                           () "]").get(0)) 🎜> if(isAll == true) {
$("#" fromid " option").each(function() {
$("")
.val($(this) .val())
     .text($(this).text())
    .appendTo($("#" toid ":not(:has(option[value= " $(this).val () "]))")));
              });                              :선택됨").each(function() {
                                                                         (this).text())
     .appendTo($("#" toid ":not(:has(option=" $(this).val() "]))"));
          })
       }
    }
};
/**
기본적으로 기능은 위("이동")와 동일합니다.
다른 점은 소스 목록에서 선택한 옵션이 대상 목록에 있을 경우 소스 목록의 옵션이 삭제되지 않는다는 점입니다. 🎜>
isAll 매개변수(true 또는 false): 모두 이동 또는 추가 여부
*/
jQuery.list2list = function(fromid,toid,isAll) {
    if(isAll == true) {
        $("#" fromid " 옵션" ).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으로 문의하세요.