저장된 checkbox list 가져오기 + 기타항목

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));




뭐 더 좋은 방법이 없을라나...

뭐 더 좋은 방법이 없을라나...

뭐 더 좋은 방법이 없을라나...