2011-01-28 7 views
2

내가 자동 완성 상자의 드롭 다운 목록을 템플릿으로 만들 수있는 라이브러리를 찾고 있습니다. 나는 json에서 데이터를 반환 할 것이다.템플릿으로 Jquery 자동 완성

+1

템플릿이란 무엇을 의미합니까? XML 스키마를위한 일종의 XSD처럼 지정할 수 있지만, JS는? – evandrix

+0

json을 올바르게 할당 할 수 있도록 html로 드롭 다운 목록을 디자인하고 싶습니다. –

+0

jTemplate과 비슷한 기능 : http://stackoverflow.com/questions/2946949/jquery-autocomplete-jtemplates-handling-response –

답변

3

jQuery-autocomplete의 출력 HTML이 마음에 들지 않습니까?

jQuery를 사용하는 방법에 대해 templates? 예를 들어

:

템플릿 :

<script id="tmplDropDown" type="text/x-jquery-tmpl"> 
<div> 
    <select name="${ClassName}"> 
    {{each Options}} 
     <option value="${Id}">${Name}</option> 
    {{/each}} 
    </select> 
</div> 
</script> 

자바 스크립트/HTML :

<input type="text" class="sample"> 
<div id="results"></div> 

<script> 

$(function(){ 
    //bind on the textbox's keyup event. 
    $('.sample').keyup(function(){ 
     var value = $(this).val(); 

     //sample data, but normally do your server call here for json data with $.ajax 
     var data = { 
      "ClassName" : "example", 
      "Options": [ 
       { "Id" :1, "Name" : "Stack"}, 
       { "Id" :2, "Name" : "Overflow"} 
      ] 
     }; 

     var $dropdown = $('#tmplDropDown').tmpl(data); 
     $('#results').empty().append($dropdown); 
}); 
</script> 

그리고 ofcoz, 당신이 "선택"/ "옵션"을 변경할 수 있습니다 " ul "/"li "또는 디자이너가 좋아하는 것 :

+0

나는 이것을 이해하지 못한다.''는 어디에 있는가? –

+0

편집 됨, 더 의미가 있는지 확인하십시오. –

0

내가 그것을 각 기능 사용을 작동하게하는 방법 코드와 너무 여러 필드와 함께 사용하는 것이 좋다 . PHP에서

$('#query').each(function(i, el) { 
    el = $(el); 
    el.autocomplete({ 

     // get source using ajax function 
     // If you need to send extra parameters to parts_by_partno.php 
     // use data: {} 
     source: function(request, response) { 
      $.ajax({ 
       type: 'GET', 
       url: 'parts_by_partno.php', 

       // when you type word in text field 
       // el.val() gets a word and ajax sends value of el.val() to server 
       data: {id: el.attr('id'), term: el.val()}, 

       success: function(data) { 
        //data - data returned from server 
        response(data); 
       }, 
       dataType:"json" 
      }) 
     } 
    }); 
}); 

=================== ===================

$ sendArray = array();

$query = "SELECT * FROM ".$table." WHERE name LIKE '".$_GET['term']."%' LIMIT 10" 

while($row=mysql_fetch_array(mysql_query($query)){ 

    array_push($sendArray, $row['name']); 

}; 

echo json_encode($sendArray);