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 |
Tags
- custom filter
- JPA
- SVN
- MySQL
- jquery
- jenkins
- CEP
- ibatis
- Drools Fusion
- drools
- rember me
- guvnor
- gwt-ext
- java tip
- jstl
- zabbix
- bootstrap jquery datepicker
- querydsl
- COC
- @SqlResultSetMapping
- gwt
- JBoss Seam
- spring jpa
- jquery serialize
- Spring
- Hudson
- spring security
- maven
- spring transaction
- GEventEvaluator
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, "::선택하세요::"); }); }