2014-02-05 2 views
0

트위터 타입 어 헤드 번들을 사용하고 있습니다. 나는 다음과 같은 코드를 가지고있다 :Twitter Typeahead 데이터 전달

var results = new bloodhound({...}) 
    //results is a map in json with the keys ID and displayName. It's grabbed by ajax call. 

    $('#element').typeahead({ 
    ... 
    { 
     name: 'Results', 
     displayKey: 'displayName', 
     source: results.ttAdapter(), 
    }... 

이것은 매우 잘 작동한다. 결과는 사용자가 물건을 입력 할 때마다 채워집니다. 그러나 내가 가진 한 가지 문제는 사용자가 "제출"을 클릭 할 때 잡는 데 필요한 값이 displayName이 아니라 ID입니다.

사용자가 "Exam"을 입력하면 결과 매핑이 { "id": "100", "displayName": "Example1"} 인 경우를 가정 해 봅시다. 그들은 "Example1"을 클릭하고 example1은 텍스트 상자로 이동합니다. 그러나 사용자가 제출을 클릭하면 "Example1"이 아니라 "100"이 해당 요소에서 오기를 원합니다. 그게 가능하니?

답변

1

당신은

.on("typeahead:selected", function(event, item) { 
    $("#hiddenInputToSubmit").val(item.id); 
    return; 
} 

은 어쩌면 당신을 위해 일할 수있는 핸들러 선택한 선행 입력을 사용할 수 있을까?

관련 문제