2012-04-12 100 views
1

我正嘗試使用tagit自動完成功能(http://webspirited.com/tagit/)。演示頁面適用於所有瀏覽器。我有在forms.py自動完成窗口小部件,其中我對TAG-IT以下代碼的類tagit自動完成功能不能在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是:

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

URL被擊中,在JSON響應數據是本IE9控制檯。但是,不會出現自動填寫框。這個問題只在IE9中。我正在使用jquery 1.7.1和jquery-ui-1.8.2-custom。我也試過用jquery-1.8.18-custom但沒有改變。如果我爲tagSource使用了一些預定義的標籤數組,它在IE9中可以正常工作,但是如果我嘗試從網址獲取數據,即使我對網址進行了硬編碼,它也不起作用。

我想實現類似標籤選項,我們在Stack Overflow上發佈一個問題,但顯示的數據應該來自url。我的問題是它不適用於IE9,但所有其他瀏覽器。我沒有嘗試它的舊版本的IE瀏覽器,因爲我們正在實施的項目爲IE9 +

任何幫助,非常感謝。非常感謝。

回答

0

結帳這個模板:http://tag-it-autocomplete.heroku.com/

它的工作原理與自動完成(AJAX之一,不僅僅是預裝標籤)。

這裏是源:https://github.com/makaroni4/tag-it-autocomplete

TAG-IT的配置是這樣的:

$(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') 
    }); 
}); 

這裏q - 是GET請求的參數,「/標籤/」 - 路徑爲每標籤,所以如果您有'rails'標籤將與'/ tags/rails'路徑鏈接。

似乎它是您需要使用Tag-it所需的一切!