2016-07-21 8 views
0

에 추가하십시오. 업데이트 : 의견에서 제안 사항을 시도했지만 여전히 작동하지 않습니다. 나는 이유를 정말로 모른다. 나는 이것을 하나의 루프로 통합하고 언급 된 구문 오류를 수정했다. 지금 보이는 코드는 다음과 같습니다.JSON 객체의 특정 값을 자바 스크립트 배열

$(function() { 

    $("#json-one").change(function() { 

    var $dropdown = $(this); 

    $.getJSON("washroutines.json", function(data) { 

     var vals = []; 
     var $jsontwo = $("#json-two"); 
$jsontwo.empty();   

     for (var i = 0; i < data.length; i++){ 
     if (data[i].make === $dropdown.val()) { 
      $jsontwo.append("<option value=\"" + data[i].model + "\">" + data[i].model + "</option>"); 
     } 
     } 

    }); 
    }); 

}); 

추가 도움을 주시면 감사하겠습니다.

원래 질문 :

나는 JSON 개체를 사용하여 다운 메뉴 의존의 드롭을 만들려고 해요, 나는 처음에 따라 채우는 문제가 두 번째 메뉴를 얻는 데 문제가 있습니다. 첫 번째 메뉴가 변경되면 두 번째 메뉴는 "정의되지 않은"항목으로 이동합니다.

$.getJSON("washroutines.json", function(data) {  
     var vals = []; 

for (i = 0; i < data.length; i++){ 
if (data.make = $dropdown.val()) { 
    vals.push(data.model); 
    } 
    } 

     var $jsontwo = $("#json-two"); 
     $jsontwo.empty(); 
    for (i = 0; i < vals.length; i++){ 
    $jsontwo.append("<option value\"" + vals[i] + "\">" + vals[i] + "</option>"); 
} 

나에게 설명 할 때 작은 단어를 사용하십시오. json으로의

내용 :

[{"make":"Maytag","model":"Bravos","prewashCycle":"Whitest Whites"}, 
{"make":"Maytag","model":"Awesome","prewashCycle":"Awesome Whitest Whites"}, 
{"make":"Whirlpool","model":"Cabrio","prewashCycle":"Extra Heavy"}, 
{"make":"Kenmore","model":"Elite","prewashCycle":"Awesome"}] 
+0

에 대한 루프 당신을 변경해보십시오. –

+0

아마도'data.model'은 정의되지 않았습니까? – Quentin

+0

(제발, 제발, 중첩이 어디 있는지 명확하게 코드를 들여 쓰기) – Quentin

답변

0

는 JSON 문자열/washroutines.json의 내용을 추가주십시오

for (var i = 0; i < data.length; i++){ 
    if (data[i].make === $dropdown.val()) { 
    vals.push(data[i].model); 
    } 
} 
+0

여전히 작동하지 않습니다. 첫 번째 메뉴가 변경 될 때 아무 작업도 수행하지 않고 두 번째 메뉴를 클릭하면 "선택하십시오"에서 빈 칸으로 이동합니다. –

+0

옵션 태그에도 문제가 있습니다. '='값 다음에 누락되었습니다. 즉, '' – ruedamanuel

+0

Fixed =, 고마워! –

관련 문제