2010-03-29 4 views
1

자바 스크립트 객체를 사용하여 이전 입력을 기반으로 드롭 다운을 채 웁니다. 보다javascript 객체를 사용할 때 "G is undefined"

var cars = { 
     'A.C.' : ["16","16/80","16/90","2 Litre","2-1","3 Litre","428","Ace","Aceba","Cobra","Greyhound","Me","Shelby"], 

     'Alfa Romeo' : ["145","146"] 
} 

그것의 더 큰하지만 당신은 JIST를 얻을 :

내 목적은 다음과 같습니다. 데이터를 사용하여 제조업체를 기반으로 드롭 다운을 채우기 전까지는 모든 것이 잘 작동했습니다. 드롭 다운을 채울 내 jQuery 코드는 다음과 같습니다

function populateModelDropdown(manufacturer) { 

    //clear the old dropdown values 
    $('#carModel').html(""); 

    //getthe previous selection if one exists 
    var prevSelection = $("#carModel_hidden").val(); 

    $.each(cars[manufacturer], function(val, text) { 

     if (text == prevSelection) { 
      $('#carModel').append(
       $('<option selected></option>').val(text).html(text)); 
     } 
     else { 
      $('#carModel').append(
       $('<option></option>').val(text).html(text)); 
     } 
    }); 


} 

을하지만, 최대한 빨리 각 루프를 입력 할 때, 나는 오류가 파일에서 오는 "JQuery와 - tools.js" "G는 정의되지 않는다"얻을 수있는 내가 건드리지 않는 jquery 라이브러리입니다.

JSON 데이터와 함께이 문제가 발생했음을 알 수 있습니다. 왜 저를 위해 일어나는가에 관해서는 누군가 지적 할 수 있는가?

감사합니다.

+0

단지 참고, 당신의 옵션 빌더는 다음과 같이 선택한 속성을 인용한다 :'$ ('<선택 옵션 "선택"=>') ' – scunliffe

+0

이유는 해당 파일에 대한 참조를하지 만약 당신이 돈 심지어 사용하지 않습니까? – ryanulit

+0

@ryanulit : 파일이 사용되었지만 파일을 "변경"하지 않았습니다. 변경하지 않았습니다. @scunliffe : thanks :) – Ger

답변

1

간단한 루프가 작업을 수행했습니다.

function populateModelDropdown(manufacturer) { 

    if (manufacturer.length > 0) { 

     $('#carModel').html(""); 

     var prevSelection = $("#carModel_hidden").val(); 

     for (var i=0; i < cars[manufacturer].length; i++) { 

      var model = cars[manufacturer][i]; 

      if (model == prevSelection) { 
       $('#carModel').append(
        $('<option selected="selected"></option>').val(model).html(model)); 
      } 
      else { 
       $('#carModel').append(
        $('<option></option>').val(model).html(model)); 
      } 
     } 

    } 

} 
관련 문제