DataTable selectBox value값 변경
본문
{ data: 'wr_4',
render : function(data,type,row){
var options = ['미정산', '정산대기', '정산완료'];
var select = '<select id="wr_4" name="wr_4" onchange= changeFn() value="">';
for(var j = 0; j < options.length; j++){
var selected = (data === options[j]) ? 'selected' : '' ;
select += '<option ' + selected + ' >' + options[j] + '</option>';
}
select += '</select>';
return select;
}
},
다른 data들은 표기도 잘 되고 변경도 잘 됩니다. 근데 문제는 이 쿼리인데 리스트에 데이터가 많은데 저 selectbox의 value가 변하지않고 1번의 선택된 value로 계속 갑니다ㅠㅠ 1번데이터에 체크된 value는 변경이 가능한데 다른것들은 1번데이터에 체크된 value로만 표기됩니다.. 어떻게 수정을 해야할까요??
EX) 1번데이터 selectBox value = '미정산' 이면 그 밑에있는 데이터들의 selectbox value도 1번데이터 따라 미정산으로 정해집니다..
!-->답변 2
{ data: 'wr_4',
render : function(data,type,row){
var options = ['미정산', '정산대기', '정산완료'];
var select = '<select id="wr_4" name="wr_4" onchange="changeFn()">';
for(var j = 0; j < options.length; j++){
var selected = (data === options[j]) ? 'selected' : '' ;
select += '<option value="' + options[j] + '" ' + selected + ' >' + options[j] + '</option>';
}
select += '</select>';
return select;
}
},
보통 onchange 할 경우 함수로 사용하지만 그저 changeFn(this.value) 하시면 알아서 선택된 value 값을 가져오기 때문에 함수 내에서 따로 value 값을 정의 내릴필요없을텐데요..
{
data: 'wr_4',
render: function(data, type, row) {
var options = ['미정산', '정산대기', '정산완료'];
var select = '<select id="wr_4-' + row + '" name="wr_4" onchange="changeFn()" value="">';
for (var j = 0; j < options.length; j++) {
var selected = (data === options[j]) ? 'selected' : '';
select += '<option ' + selected + ' >' + options[j] + '</option>';
}
select += '</select>';
return select;
}
}
이렇게 해보시겟나요?
!-->
답변을 작성하시기 전에 로그인 해주세요.