【问题标题】:Django jquery-ui autocomplete url changingDjango jquery-ui 自动完成 url 改变
【发布时间】:2014-10-23 15:13:52
【问题描述】:

我在输入中使用 jquery-ui 自动完成功能。它适用于自动完成,但是当我选择输入的完整版本并按 Enter 时,它会转到 /?n=something 之类的链接我想将此链接更改为 /baslik/something 它应该转到 /baslik/something 对于每个输入。 我的模板文件中有这些:

<script>
$(document).ready(function(){
     $( "input#n" ).autocomplete({
                            source: "{% url "autoco" %}",
                            minLength: 2
        });
});
</script>

<div class="ui-widget">
              <input id="n" type="text" name="n"/>
</div>

<script type="text/javascript">
  document.getElementById("n").addEventListener("change", function(){
    this.form.setAttribute("action", "/baslik/" + this.value);
  });
</script>

上面代码的最后一个 js 部分是在用户点击输入时将输入转换为/baslik/something,但如果我不更改自动完成的输入,它只会这样做。

观点:

def autoco(request):
    term = request.GET.get('term')
    bslk = Baslik.objects.filter(title__istartswith=term)
    res = []
    for b in bslk:
         dict = {'id':b.id, 'label':b.__unicode__(), 'value':b.__unicode__()}
         res.append(dict)
    return HttpResponse(simplejson.dumps(res))

网址:

url(r'^autoco/$', autoco, name='autoco'),

我怎样才能以我的方式完成这项工作?谢谢。

【问题讨论】:

    标签: javascript jquery django jquery-ui autocomplete


    【解决方案1】:

    有一个解决方案。 这是jquery-ui自动完成的js部分:

    <script>
    $(document).ready(function(){
         $( "input#n" ).autocomplete({
                                source: "{% url "autoco" %}",
                                minLength: 2,
                                select:function(e,ui) { 
          location.href = ui.item.the_link;
        //  console.log(ui.item.the_link);
    }
            });
    });
    
    </script>
    

    我们为它添加了_link属性,我们应该在我们的视图中描述它: 这部分:

    dict = {'id':b.id, 'label':b.__unicode__(), 'value':b.__unicode__()}]
    

    应该是这样的:

    dict = {'id':b.id, 'label':b.__unicode__(), 'value':b.__unicode__(), 'the_link':"baslik/"+b.__unicode__()}

    【讨论】:

      猜你喜欢
      • 2014-02-14
      • 2015-09-14
      • 2014-10-22
      • 2011-07-23
      • 1970-01-01
      • 2015-03-17
      相关资源
      最近更新 更多