2014-12-19 3 views
0

을 자동 완성 패키지를 통해 검색하여 자동 완성 검색을 실현합니다. 그러나 ive가 발견 한 모든 것은 한 단어를 자동 완성합니다. 단어 목록이 필요합니다.Django는 태그로 자동 완성 검색 태그 목록

스택 태그 입력시 여기처럼 행동해야합니다. 사용자가 입력을 시작합니다. 태그가 있으면 태그를 선택하십시오. 필요에 따라 많은 수의 태그를 삽입하십시오. 태그의 전체 목록은 태그가있는 태그로 필터링 된 목록을 렌더링해야합니다.

그러나 많은 태그를 검색하는 방법을 알고 싶습니까? 자동 완성은 하나만 작동합니다. 또는 나는 틀리게 무언가를 이해 했는가?

+0

당신은 그것에 jQuery 자동 완성과 함께, Django에 대한 Ajax 요청을 할 수 있습니다 : http://jqueryui.com/autocomplete/ –

+0

꽤 보인다. 항목 목록을 삽입하는 방법은 무엇입니까? 성공한 Ajax 응답에서 java javascript erlang – oranj33

+0

처럼 검색된 요소의 JSON 목록을 갖게된다. 예를 들어 jQuery와 함께 Inserrt을 사용하면 –

답변

1

jQueryUI 부분 : 핸들

$("#id_of_your_input").keypress(function(){ 
    $(this).autocomplete({ 
     source: $(this).data('url'), ## or hard code it: source: '/api/...' 
     minLength: 2, 
     delay:300, 
     select: function(event, ui) { 
      $('#id_of_your_drop_down').val(ui.item.value); 
     } 
    }); 
}); 

뷰 귀하의 $(this).data('url') :

난 당신이 모델의 r.name이 가정
import json 

NUMBER_OF_RESULTS = 5 

def view_for_your_api(request): 
    if not request.is_ajax(): 
     return HttpResponse('false') 
    results = model.objects.all()[:NUMBER_OF_RESULTS] 
    data = json.dumps([{'label': r.name, 'value': r.name} for r in results]) 
    return HttpResponse(data, 'application/json') 

. 귀하의 필드 또는 귀하의 neccessities로 대체

0

"여러 가지 자동 완성 제안 가져 오기"라고하는 것이 좋습니다.

다음은 자동 완성 작동 방식입니다. 예를 들어, 텍스트 상자에 내용을 입력 할 때마다 AJAX가 실행되고 해당 텍스트에 대한 특정 결과가 반환됩니다. 당신은 당신이 반복 차례 나오는에 따라 열에서 여러 데이터 또는 태그를 저장해야하는 여러 자동 완성을 수행 할 경우

는 ..

여러 자동 완성을 얻으려면. 또는 데이터베이스에서 "* 일대 다 관계"를 만들어 모든 값을 반환하십시오.

+0

예, 마음에 두었습니다. 자동 완성으로 개체 목록을 설정합니다 (그래서 사용자 cant는 설정되지 않은 키워드를 입력합니다). 입력시 목록에 추가하고 완료되면 해당 키워드로 필터링 된보기를로드하십시오. 엠버 (ember)와 약간의 안일 한 API와 같은 프론트 엔드 js_framework를 만드는 것이 더 좋을까요? tastypie와 ember에 대한 생각? jquery 대신에 더 좋은 아이디어가 아니겠습니까? – oranj33