반응형
multiple select로 select 목록 만들기 / 다중 select 만들기 / 목록 넣고 빼기
left select | right select | |
---|---|---|
|
소스
<table>
<tr>
<th>left select</th>
<th></th>
<th>right select</th>
</tr>
<tr>
<td>
<select multiple="multiple" id='left_list'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
</select>
</td>
<td>
<button href="#" onclick="moveToRight(); return false;" class="btn">==></button>
<br><br>
<button href="#" onclick="moveToLeft(); return false;" class="btn"><==</button>
</td>
<td>
<select multiple="multiple" id='right_list'>
<option value='a'>a</option>
<option value='b'>b</option>
<option value='c'>c</option>
</select>
</td>
</tr>
</table>
<script>
//오른쪽에서 제거하고 왼쪽으로 옮기기
function moveToLeft() {
$('#right_list option:selected').each(function(index, obj) {
var value = obj.value;
var text = obj.text;
$('#right_list').find('option[value="'+ value +'"]').remove();
$('#left_list').append('<option value="'+value +'">'+text+'</option>')
});
}
//왼쪽에서 제거하고 오른쪽으로 옮기기
function moveToRight() {
$('#left_list option:selected').each(function(index, obj) {
var value = obj.value;
var text = obj.text;
$('#left_list').find('option[value="'+ value +'"]').remove();
$('#right_list').append('<option value="'+value +'">'+text+'</option>')
});
}
</script>
**기타 select 관련 control
select의 value 가져오기
//vanilla javascript
document.getElementById('select_list').value
//jquery
$('#select_list').val()
select의 선택한 option DOM 가져오기
//vanilla javascript
document.getElementById('select_list').options[document.getElementById('select_list').selectedIndex]
//jquery
$('#select_list option:selected')
선택한 option DOM의 사용자 data property 접근
<option value="111" data-sub_type="num">옵션에 이런 property가 있는 경우</option>
//vanilla javascript(dataset으로 접근)
document.getElementById('select_quatro_list').options[document.getElementById('select_quatro_list').selectedIndex].dataset.sub_type
//jquery(data로 접근)
$('#select_quatro_list option:selected').data('sub_type')
select에 option 추가/제거
//option 붙이기
$('#select_list').append('<option value="엥">엥</option>')
//option 떼기
$('#select_list').find('option[value=vvv]').remove();
select 에서 선택된 options들 가져와서 반복문 돌리기
$('#select_list option:selected').each(function(index,obj){
var value = obj.value;
var cont_type = obj.dataset.cont_type;
var text = obj.text
})
반응형
'코딩 관련 > Javascript와 jQuery, JSON' 카테고리의 다른 글
[Javascript] input type number maxlength 설정하기 (0) | 2022.11.24 |
---|---|
[Javascript] label 선택하기 (0) | 2022.11.21 |
[JavaScript] 여러개의 dom 중에서 하나 선택하기 / getElementsBy (0) | 2022.11.11 |
[javascript] youtube 삽입 시 자동재생 방법 / 유튜브 영상 자동재생 (0) | 2022.10.27 |
[JAVASCRIPT] 날짜 검색 유효성 체크 date check, date validate check (0) | 2022.10.11 |