selectbox 기본선택 질문
관련링크
본문
현재 슈와이 님이 올리신
이 팁을 이용하여 , 게시판에 여분필드값을 추가하여
셀렉트박스를 이용중인데요.
write.php
인증현황 : <input type="text" name="wr_6" id="wr_6" value="<?php echo $wr_6 ?>">
</div>
<script src="/js/makebox.js"></script>
<script>
$( '#wr_6' ).makeBox('인증대기중,인증완료,인증불가', 'select');
</script>
이런식으로 선택하여 인증현황을 바꿔주는 형식으로 구성 하였습니다.
이 소스를 이용할경우 기본 선택값을 '인증대기중'으로 하고 싶은데
현재 제일 상위에 '인증대기중'이 되어 있지만 실제로 '선택'이 되어 있지는 않습니다.
처음에 선택을 하지 않아도 기본 선택을 '인증대기중'으로 하고 싶은데요.
혹시 팁을 좀 주실분 계실까요.
아래는 해당 소스의 제이쿼리 입니다.
$.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 += '<input type="' + type + '" name="' + id + '_1' + '" id="' + id_1 +'" value="' + arr[i] + '"' + checked + ' class="' + id + '">';
html += '<label for="' + id_1 + '">' + 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);
}
답변 1
인증현황 : <input type="text" name="wr_6" id="wr_6" value="<?php echo $wr_6 ?>">
->
인증현황 : <input type="text" name="wr_6" id="wr_6" value="<?php echo $wr_6 ? $wr_6 : '인증대기중' ?>">
으로 변경해 보시면 어떨까 합니다.