2013-12-10 2 views
0

저는 트위터 타석을 처음 사용하고 있습니다.타이프 헤드 트위터가 작동하지 않습니다.

[{"merchant_name":"Myntra"},{"merchant_name":"Adlabs imagica"},{"merchant_name":"godaam"},{"merchant_name":"Homeshop18"},{"merchant_name":"Hotels.com"}] 

내가 배열로 변환하고 기능을 선행 입력에 전달하고있다 :

내가 좋아하는 내 JSON 형식을 가지고있다. 그러나 이것은 깨지 않는 것입니다. 정말 만약이 문제를

$('#search_bar').keyup(function(e){ 
     var searched = $('#search_bar').val() 
     $.getJSON('<?php echo base_url();?>get_data','title='+searched,function(result){ 
     var elements = []; 
     $.each(result,function(i,val){ 
       elements.push(val.merchant_name) 
     }) 
     $('#searh_bar').typeahead({ 
        source:elements 
     }) 
    }) 
}); 
+1

하나의 오타 오류가 code..'의 $ ('#의 searh_bar')에서이 선행 입력. ({ 출처 : 요소 })'가깝지만해야한다' search_bar' – nik

답변

0

를 해결하기 위해 도와주세요 트위터 선행 입력 당신이 사용하고, 다음 잘못된 여기에 적어도 2 가지가 있습니다 :

1)에 .typeahead()를 호출 할 필요가 없습니다 당신의 각 키가 올라간 후에 요소가되지만 초기화 중에는 한 번 사용됩니다. 각 키 누름 (사용 remote:에 대한 후 서버를 조회 할 :

2) typeahead.js 당신이 뭘 하려는지에서

에는 source 매개 변수가 없습니다, 정말 당신이 다른 뭔가가 필요 것 같아 그 결과에 대한 변환은 filter:입니다.

그래서 뭔가 같은 :

$('#search_bar').typeahead({ 
    remote: { 
    url: '<?php echo base_url();?>get_data?title=%QUERY', 
    filter: function(parsedResponse) { 
     var elements = []; 
     $.each(parsedResponse, function(i, val) { 
     elements.push(val.merchant_name); 
     }); 
     return retval; 
    } 
    } 
}); 
관련 문제