1
jQuery에 다음과 같은 문제가 있습니다. jQuery 문서 준비 호출 순서
- 로드
- 이
#value_type <select>
항목의 데이터에 넣어 관련 데이터베이스 - 에서 일부 JSON 데이터를 가져 오기 문서 : I가 원하는
function populate_select_from_json(select, json_url) { select.empty(); $.getJSON(json_url, function(data) { $.each(data, function(key, value) { $("<option></option>") .attr("value", value.name) .text(value.title) .appendTo(select); }); }); select.children(":first").attr("selected", true); } $(document).ready(function() { var value_type = $("#value_type"); populate_select_from_json(value_type, SOME_URL); var unit = $("#unit"); populate_select_from_json(unit, ANOTHER_URL + value_type.val()); });
:이 코드를 사용
#value_type
값을 선택하고 데이터베이스를 다시 쿼리하여 다른 선택 항목을 채 웁니다.
문제는 내가 value_type.val()
를 호출 할 때, 그것은 항상 #value_type <select>
가 제대로 설치되어 있어도, null
를 출력합니다. 여기서 내가 뭘 잘못하고 있니?
** ** 잭스 ** 비동기 **입니다. 'value_type.val()'을 호출하는 순간, 필드는 아직 채워지지 않았습니다. 지연된 객체를 사용하여 Ajax 호출을 체인화하는 것이 좋습니다 : http://api.jquery.com/category/deferred-object/. –
그냥 내가 생각했던 것! 들판이 아직 채워지지 않은 것처럼 보입니다. 브라우저가 내 스레드를 다른 스레드에서 호출하여 .ready 콜백의 포크를 호출합니까? – artonson
데이터를 가져 오는 중 일부 백그라운드 프로세스가 시작되었지만 JS에 스레드가 없다고 생각합니다. –