동적으로 생성된 html select 태그 change 이벤트 처리

정적으로 생성된 경우 아래와 같이 해도 잘되지만

1
2
3
4
5
6
7
8
$("#answer_21_input_01").change(function () {
var value_text = $("#answer_21_input_01 option:selected").val();
if (value_text == "직접입력") {
$("#answer_21_input_02").css("display", "inline");
} else {
$("#answer_21_input_02").css("display", "none");
}
});

아래 같이 동적으로 생성되면

1
2
3
4
5
6
7
html += '<select name="chchidx" class="answer_select" id="answer_21_2_input_01">    ';
html += '<option value="0">선택하세요.</option>';
html += '<option value="1">교사교육</option>';
html += '<option value="2">행정교육</option>';
html += '<option value="3">기타교육</option>';
html += '<option value="4">직접입력</option>';
html += '</select>';

안 먹힌다 ㅠ

이럴때 아래와 같이 live 메소드 써야함.

1
2
3
4
5
6
7
8
$("#answer_21_2_input_01").live("change", function () {
var value_text = $("#answer_21_input_01 option:selected").val();
if (value_text == "직접입력") {
$("#answer_21_input_02").css("display", "inline");
} else {
$("#answer_21_input_02").css("display", "none");
}
});

avatar

코딩공작소

코딩에 관한 여러가지 방법 모음 : 개인 저장소입니다