2012-04-12 1 views
1

tagit 자동 완성 (http://webspirited.com/tagit/)을 사용하려고합니다. 데모 페이지는 모든 브라우저에서 잘 작동합니다. 나는 tagit에 대해 다음 코드를 forms.py에서 자동 완성 위젯에 대한 클래스가tagit autocomplete가 IE9에서 작동하지 않습니다.

js = "$('#%s').tagit({\ 
    tagSource: '%s?type=%s',\ 
    minLength:2,\ 
    select:true,\ 
    initialTags: %s,\ 
    allowNewTags: false, \ 
});" % \ 
(autocomplete_id, url, name, json.dumps(tags)); 
return u"<ul%s /><script type='text/javascript'>%s</script>" % (flatatt(auto_final_attrs), js) 

URL은 : URL이 타격

http://localhost:8000/search/terms/auto?type=naics_code 

및 JSON 응답 데이터가 존재입니다 IE9 콘솔. 그러나 자동 완성 상자가 나타나지 않습니다. 이 문제는 IE9에서만 발생합니다. jquery 1.7.1 및 jquery-ui-1.8.2-custom을 사용하고 있습니다. 나는 jquery-1.8.18-custom로 시도했지만 변경은하지 않았다. tagSource에 대한 미리 정의 된 태그 배열을 사용하면 IE9에서는 정상적으로 작동하지만 URL에서 데이터를 가져 오려고하면 URL을 하드 코딩해도 작동하지 않습니다.

질문을 게시하는 동안 스택 오버플로에 태그 옵션과 같은 것을 구현하고 싶지만 표시된 데이터는 URL이어야합니다. 내 문제는 그것이 IE9하지만 다른 모든 브라우저에서 작동하지 않습니다. 우리가 IE9 +에 대한 프로젝트를 구현하기 때문에 나는 IE의 이전 버전을 위해 그것을 시도하지 않았다 +

어떤 도움을 주시면 대단히 감사하겠습니다. 고마워.

답변

0

체크 아웃이 템플릿 : http://tag-it-autocomplete.heroku.com/

그것은 자동 완성 작동 (AJAX 일뿐만 아니라 사전로드 된 태그). 여기

소스입니다 : https://github.com/makaroni4/tag-it-autocomplete

Tagit의 설정은 다음과 같습니다 Q 여기

$(document).ready(function() { 
    $("#mytags").tagit({ 
    tagSource: function(search, showChoices) { 
     var that = this; 
     $.ajax({ 
     url: "/tags/autocomplete.json", 
     data: {q: search.term}, 
     success: function(choices) { 
      showChoices(that._subtractArray(choices, that.assignedTags())); 
     } 
     }); 
    }, 
    show_tag_url: "/tags/", 
    singleField: true, 
    singleFieldNode: $('#submit_tag_names') 
    }); 
}); 

- GET 요청의 매개 변수가, "/ 태그 /" - 각 경로 태그가 있으면 'rails'태그가 '/ tags/rails'경로와 연결됩니다.

Tag-it으로 작업하는 데 필요한 모든 것 같이 보입니다!