SELECT
요소가 선택 옵션이 변경 될 때 AJAX를 사용하여 채우는 양식에 있습니다. 이것은 다음 코드를 사용하여 실제로 잘 작동합니다.페이지로드 및 변경시 AJAX를 사용하여 SELECT 요소 채우기
$(function() {
function populate() {
$.getJSON('/action/' + $(this).val(), {}, function(data, textStatus) {
var el = $('select#two');
el.html(''); // empty the select
$.each(data, function(idx, jsonData) {
el.append($('<option></option>').val(jsonData.id).html(jsonData.name));
});
});
}
$("select#one").change(populate);
});
물론 첫 번째 드롭 다운이 처음 변경 될 때만 작동합니다. 내가 무엇을하고 싶습니다 동일한 메서드를 사용하여 페이지를 처음로드 할 때 두 번째 드롭 다운 pre-populate 것입니다. 내가 생각할 수있는
있는 유일한 방법은 다음과 같이 getJSON
전화를 수정하는 것입니다 :
$.getJSON('/action/' + $("select#one").val(), {}, function(data, textStatus)
다음
단순히 하단에이 호출 (즉 $(this)
를 사용하지 않는)가 ' 로드시 초기화 블록 :
populate();
이 작업은 효과가 있지만 그렇지 않습니다. 누구든지 더 나은 해결책을 제안 할 수 있습니까?