(function ($) { $.fn.extend ({ MultDropList: 함수(옵션) { var op = $.extend({ 래퍼 클래스: "래퍼", 너비: "150px", 높이: "200px", 데이터: "", 선택됨: "" }, 옵션); return this.each(function () { var $this = $(this); //TextBox 지정 var $hf = $(this).next(); //숨겨진 컨트롤 저장소를 가리킵니다. var conSelector = "#" $this.attr("id") ",#" $hf.attr("id") var $wrapper = $(conSelector) .wrapAll("
").parent().parent().addClass(op.wrapperClass) var $list = $(' ').appendTo($wrapper) $list.css({ "width": op.width, "height": op.height }) ; //팝업 페이지 표시 및 숨기기 $this.click(function (e) { $list.toggle(); e.stopPropagation(); } ); $(document ).click(function () { $list.hide(); }) $list.filter("*").click(function (e) ) { e.stopPropagation (); }) //기본 데이터 로드 $list.append('
All
') var $ul = $list.find("ul") ; //json 데이터 로드 var listArr = op.data.split("|") var jsonData for (var i = 0; i < listArr.length; i ) { jsonData = eval("(" listArr[i] ")") $ul.append('
' jsonData.v '
'); } //검사 옵션 로드 var seledArr; if ( op.selected.length > 0 ) { seledArr = selected.split(",") } else { seledArr = $hf.val().split("," ); } $.each(seledArr, 함수(색인) { $("li input[value='" seledArr[index] "']", $ul).attr("checked ", "checked"); var vArr = new Array(); $("input[class!='selectAll']:checked", $ul).each(function (index) { vArr[index] = $( this).next().text(); }) $this.val(vArr.join(",")) }) 🎜>//전체 또는 모두 선택 선택 취소 $("li:first input", $ul).click(function () { if ($(this).attr("checked")) { $("li 입력 ", $ul).attr("checked", "checked"); } else { $("li 입력", $ul).removeAttr(" selected"); } }); //다른 확인란을 클릭할 때 숨겨진 컨트롤 값과 텍스트 상자 값 $("input", $ul)을 업데이트합니다. click(function () { var kArr = new Array(); var vArr = new Array(); $("input[class!='selectAll']:checked", $ul) .each(함수(색인) { kArr[index] = $(this).val(); vArr[index] = $(this).next().text(); } ); $hf.val (kArr.join(",")); $this.val(vArr.join(",")) }); } }) ; })(jQuery) $(document).ready(function () { $("#txtTest").MultDropList({ 데이터: $ ("#hfddlList").val( ) });