Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Hudson
- maven
- gwt-ext
- Spring
- java tip
- spring security
- Drools Fusion
- MySQL
- JPA
- COC
- guvnor
- jstl
- CEP
- SVN
- drools
- jquery serialize
- JBoss Seam
- querydsl
- ibatis
- jquery
- GEventEvaluator
- @SqlResultSetMapping
- rember me
- spring jpa
- custom filter
- gwt
- zabbix
- jenkins
- spring transaction
- bootstrap jquery datepicker
Archives
- Today
- Total
봉 블로그
jquery multi select 처리 본문
select option 생성해주는 유틸함수 정의.
$.fn.addOptions = function(jsonData, selected, valueView, firstOption) { return this.each(function(){ if (this.tagName != 'SELECT'){ return; } var selectElement = this; if ($.browser.msie && firstOption) { selectElement.add(new Option(firstOption, "")); } else if(firstOption){ selectElement.add(new Option(firstOption, ""), null); } $.each(jsonData, function(index, optionData) { var text = this.text; if(valueView){ text = text + " (" + this.value + ")"; } var option = new Option(text, this.value); if ($.browser.msie) { selectElement.add(option); } else { selectElement.add(option, null); } }); if( selected ) { $("option[value='"+selected+"']", this).attr("selected", "true"); $(this).trigger("change"); } }); }; 사용방법
// 응답은 text, value 가 포함된 json 이어야 함. $("select[name='sel1']").change(onChangeSelect);// 다른 selectbox 변경토록 이벤트 걸기. $("select[name='sel1']").children().remove();//초기화.. var params = { "param1" : "value1" }; $.getJSON("url...", params, function(data, textstatus) { $("select[name='sel1']").addOptions(data.rows, "selectedValue", true, "::선택하세요::"); }); function onChangeSelect(){ // 다른 select 변경하기. $("select[name='sel2']").children().remove();//초기화.. $.getJSON("url...", params, function(data, textstatus) { $("select[name='sel2']").addOptions(data.rows, "selectedValue", true, "::선택하세요::"); }); }