2011-09-27 6 views
0

검색 중 힙을 만들었지 만 어디에도 표시되지 않는 것 같습니다.json 자동 완성 동적 텍스트 상자를 json에 바인딩합니다.

나는 임 2 일을하려고

[{"IngredientId":1,"IngredientName":"Butter","CategoryID":1},{"IngredientId":2,"IngredientName":"Sugar","CategoryID":1},{"IngredientId":3,"IngredientName":"Water","CategoryID":1},{"IngredientId":4,"IngredientName":"Salt","CategoryID":1}] 

과 같은 몇 가지 JSON이있다. 1. 어떻게 든 선택한 자동 완성 텍스트 상자에서 가장 중요한 IngredientId를 저장하십시오. 자동 완성을 위의 json에 연결하십시오.

이것은 값을 바인딩의 내 절름발이 시도

.autocomplete({ 
     source: ingredients, 
     select: function (item) { 
      console.log(item.IngredientId); 
      return item.IngredientName; 
     } 

누군가가 내가 자동 완성에 바인딩해야 올바른 방법으로 도울 수 있습니까?

답변

1

source 속성은 일반 배열 또는 객체의 배열 (또는 문자열)가 필요 주셔서 감사합니다. 객체의 배열은 { 'value': 'some_val', 'label': 'some_label' }이어야합니다.

해당 구성 요소 배열을 제어 할 수없는 경우 자동 완성 기능을 사용하기 위해 매핑해야합니다.

var ingredients_ac = $.map( 
    ingredients, 
    function(obj) { 
     return { value: obj.IngredientId, label: obj.IngredientName }; 
    }); 

는 자동 완성

.autocomplete({ 
     ... 
     source: ingredients_ac, 
     ... 
     } 
); 
+0

감사 Zlatev로 새로운 배열을 사용! –

관련 문제