답변주셔서 감사합니다.
어젯밤부터 이것에 매달려보고 있는데 영 않되네요 ㅠ_ㅠ
일단 제가 해본 것은 아래와 같습니다.
말씀하신대로 혹시 c_option 이라는 필드가 문제가 있나해서
wr_1에도 적용을 해보았습니다.
<input type="text" name="wr_1" id="wr_1" value="<?php echo $wr_1 ?>">
<script>
$( '#wr_1' ).makeBox( '썬팅,자동도어잠금,파워핸들,파워윈도우,알루미늄휠,에어컨,광폭 타이어', 'checkbox' );
$("#wr_1").prop("type", "text"); // 추가해서 체크시 값이 제대로 나오나 보세요
</script>
위처럼 하고 각 체크박스를 선택하면 선택한 값이 박스(?)같은 곳에 잘 나옵니다.
하지만 작성롼료를 클릭하고 DB를 보면 여전히 마지막에 선택된 하나의 값만 입력되어 있습니다.
(c_option 필드와 wr_1 여분필드가 똑같은 상황입니다.)
제가 makebox.js를 필요에 의해서 아래처럼 수정했는데
혹시 이 부분이 잘 못 되었을까요?
$.fn.makeBox = function (text, type) {
var html = '', arr = text.split(','), i, checked, id = $(this).attr( 'id' ), val = $(this).val(), id_1, obj = $( '#' + id );
$( obj ).prop('type', 'hidden');
if (type == 'select') {
id_1 = id + '_1';
html = '<select id="' + id_1 +'">';
for (i in arr) {
checked = val.indexOf(arr[i]) + 1 ? 'selected' : '';
html += '<option value="' + arr[i] + '" ' + checked + '>' + arr[i] + '</option>';
}
html += '</select>';
$( 'body' ).on('change', '#' + id_1, function() {
$( '#' + id ).val( this.value );
});
} else {
for (i in arr) {
checked = val.indexOf(arr[i]) + 1 ? ' checked' : '';
id_1 = id + '_' + i;
html += '<label for="' + id + '_' + arr[i] + '">';
html += '<input type="' + type + '" name="' + id + '" id="' + id + '_' + arr[i] + '" value="' + arr[i] + '"' + checked + ' class="' + id + '">';
html += ' '+ arr[i] + '</label>';
}
$( 'body' ).on( 'click', '.' + id, function() {
var ar = [];
$( '.' + id ).each( function() {
if (this.checked) ar.push(this.value);
});
obj.val( ar.join(',') );
});
}
$( '#' + id ).after(html);
}
슈와이님의 원소스의 아래부분을
html += '<input type="' + type + '" name="' + id + '_1' + '" id="' + id_1 +'" value="' + arr[i] + '"' + checked + ' class="' + id + '">';
html += '<label for="' + id_1 + '">' + arr[i] + '</label> ';
이렇게 바꾸었습니다.
html += '<label for="' + id + '_' + arr[i] + '">';
html += '<input type="' + type + '" name="' + id + '" id="' + id + '_' + arr[i] + '" value="' + arr[i] + '"' + checked + ' class="' + id + '">';
html += ' '+ arr[i] + '</label>';
그리고 참고삼아 실제소스는 아래와 같습니다.
체크박스가 여러개라서 부분부분 나누었습니다.
<dl>
<dt>옵션/튜닝</dt>
<dd>
<input type="text" name="c_option" id="c_option" value="<?php echo $write['c_option']; ?>">
<script>
$( '#c_option' ).makeBox( '썬팅,자동도어잠금,파워핸들,파워윈도우,알루미늄휠,에어컨,광폭 타이어', 'checkbox' );
</script>
</dl>
<dl>
<dt>외관</dt>
<dd>
<input type="text" name="d_option" id="d_option" value="<?php echo $write['d_option']; ?>">
<script>
$( '#d_option' ).makeBox( '접이식백미러,제논/HID라이트,썬루프,파노라마썬루프,루프캐리어,크롬 휠,사제휠,전/후방 감지기,전방카메라,후방감지 카메라,리어스포일러', 'checkbox' );
</script>
</dd>
</dl>
<dl>
<dt>내장</dt>
<dd>
<input type="text" name="e_option" id="e_option" value="<?php echo $write['e_option']; ?>">
<script>
$( '#e_option' ).makeBox( '무선도어 리모컨,ECM룸미러,가죽시트,전동시트,열선시트,열선시트(뒷좌석),통풍시트,메모리시트,우드그레인,메탈그레인,스타트버튼', 'checkbox' );
</script>
</dd>
</dl>
<dl>
<dt>안전</dt>
<dd>
<input type="text" name="f_option" id="f_option" value="<?php echo $write['f_option']; ?>">
<script>
$( '#f_option' ).makeBox( '운전석 에어백,조수석 에어백,측면 에어백,커튼에어백,ABS,TCS,ECS,EPS,4륜 구동', 'checkbox' );
</script>
</dd>
</dl>
<dl>
<dt>편의</dt>
<dd>
<input type="text" name="g_option" id="g_option" value="<?php echo $write['g_option']; ?>">
<script>
$( '#g_option' ).makeBox( '스마트 키,네비게이션,뒷좌석 TV,블랙박스,파워트렁크,크루즈컨트롤,도난 경보기,원격시동장치', 'checkbox' );
</script>
</dd>
</dl>