2016. 6. 28. 17:28ㆍ개발/jQuery
저장된 체크박스 리스트를 가져와야 하는 상황이 왔다. 일종의 불러오기
기존에는
체크박스는 기본으로 제공되는 부분과 추가입력부분이 있는 상황이다.
그래서 A와 B를 체크하고 텍스트필드에 C,D를 입력하면 DB에는 {A,B,C,D}가 입력되고
그걸 사용자에게 보여주는 형식으로 구현되어 있다.
체크박스와 리스트 모두 같은 네임으로 그리고 배열로 되어 있어서 쉽게 되지 않았던 것 같다.
<input type="checkbox" name="list[]" value="A"> A
<input type="checkbox" name="list[]" value="B"> B
<input type="text" name="list[]">
불러오기를 하기 위해
1. DB의 값을 가져와서 쉼표(,)로 split를 하였다.
2. 값들을 돌리면서 해당 값이 있으면 check를 한다.
3. 나머지 값들을 잘 정리해서 텍스트필드에 넣어주었다.
4. 그렇게 하려고 했는데 하다하다 안되서 결국 text field에 class를 추가해버렸다 :'(
구현은 다음과 같은 방식으로 했다.
temp = data;
arr = data.split(',');
for (var i = 0; i < arr.length; i++) {
if ($('input[name="list[]"][value="'+arr[i]+'"]').size() > 0) {
$('input[name="list[]"][value="'+arr[i]+'"]').attr("checked", "checked");
temp = temp.replace(arr[i], '');
}
}
temp = temp.split(',');
for (var i = 0; i < temp.length; i++) {
if (temp[i].trim() != '') {
$('.list-etc').val($('.list-etc').val()+','+temp[i].trim());
}
}
$('.list-etc').val($('.list-etc').val().substring(1));
뭐 더 좋은 방법이 없을라나...
뭐 더 좋은 방법이 없을라나...
'개발 > jQuery' 카테고리의 다른 글
jQuery, Dropdown Table Filter에서 select option filter 추가 (0) | 2016.11.21 |
---|---|
recorderjs를 이용한 녹음 및 ajax, php를 이용한 업로드 (0) | 2015.11.14 |
iOS에서 jQuery 클릭 이벤트가 작동하지 않을때 (0) | 2015.09.16 |