2011-03-04 3 views
0

여러 개의 선택 입력과 자동 완성 입력이 있습니다. 사용자가 자동 ​​완성 입력에 요소를 삽입 할 때마다 다중 선택에서 해당 요소를 선택하고 싶습니다.jQuery : 자동 완성 및 키에 관한 질문

이 코드를 가지고 : 액션 자동 완성은 이러한 종류의 데이터를 반환

jQuery("#example") 
.autocomplete('autocomplete', jQuery.extend({}, { 
dataType: 'json', 
parse: function(data) { 

    var parsed = []; 
    for (key in data) { 

    parsed[parsed.length] = { data: [ data[key], key ], value: data[key], result: data[key] }; 
    } 

    return parsed; 

    } 
}, {multiple:true})) 
.result(function(event, data) { 
$("#select option[value=" + key + "]").attr("selected", true); 


}); 

:

{"17":"element_17","18":"element_18"} 

문제 : (value=" + key + ") 항상 18 "키"의 값, 심지어 때 element_17을 선택하십시오.

어떤 생각을 바꾸거나 추가해야합니까?

감사

하비는

답변

0

이 좋아, 그래서 무슨 일이 일어나고 있는지, 당신은 완전한 당신의 자동차에 대한 잘못 데이터 포맷하기되어있다.

는 각 자동 완성 기능 요소가

{ 'key' : '17', 'value' : 'element 17' } 

같이 할 그리고 당신은 당신이 { '키'를 의미합니까이

[ { 'key' : '17', 'value' : 'element 17' }, 
    { 'key' : '18', 'value' : 'element 18' } ] 
+0

과 같은 요소의 배열을 보낼 필요가있다 : '17', 'value': 'element 17'}, { 'key': '18', 'value': 'element 18'} ("["및 "]"제외)? – ziiweb

+0

아니요, []이 (가) JSON에서 배열이 구현되는 방식입니다. –

+0

이제 Firebug 응답 탭에 정확히 말한 것과 JSON 탭에 다음과 같이 나타냅니다. 0 Object {key = "17 "값 ="(17) "} 키 "17 " 값 "(17) " 개체 {키 ="18 "값 ="요소 (18) "} 키 "18 " 값 " 요소 18 ". 그러나 "el"("element")라고 쓰면 "element 18"이나 "element 17"이 나타나지 않습니다. – ziiweb