【问题标题】:tagit autocomplete not working on IE9tagit 自动完成功能不适用于 IE9
【发布时间】:2012-04-25 00:01:48
【问题描述】:

我正在尝试使用 tagit 自动完成 (http://webspirited.com/tagit/)。演示页面适用于所有浏览器。我在 forms.py 中有一个用于自动完成小部件的类,其中我有以下 tagit 代码

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)

网址是:

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 中可以正常工作,但如果我尝试从 url 获取数据,即使我对 url 进行硬编码,它也不起作用。

我想在发布问题时实现类似 Stack Overflow 上的 Tags 选项,但显示的数据应该来自 url。我的问题是它不适用于 IE9,但不适用于所有其他浏览器。由于我们正在为 IE9+ 实施该项目,因此我没有为旧版本的 IE 尝试它

非常感谢任何帮助。非常感谢。

【问题讨论】:

    标签: jquery python forms jquery-ui-autocomplete tag-it


    【解决方案1】:

    查看此模板:http://tag-it-autocomplete.heroku.com/

    它适用于自动完成(AJAX 之一,而不仅仅是预加载的标签)。

    这里是来源:https://github.com/makaroni4/tag-it-autocomplete

    Tagit 配置如下所示:

    $(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 - 是获取请求的参数,"/tags/" - 每个标签的路径,所以如果你有'rails'标签将是链接带有“/tags/rails”路径。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 2012-07-27
      • 2018-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多