我可以在django视图中使用select2和initialvalue吗?

时间:2018-06-01 20:13:56

标签: django jquery-select2

我需要在我的django应用程序的模板中使用select2,但它不起作用...我不知道ajax和jquery,所以我希望你们帮助我。

到目前为止我的代码

     <script>
     $(".js-data-ajax").select2({
         ajax: {
             headers: {
                 "Content-Type": "Application/Json",
                   "Cache-Control": "no-cache"
               },
               type: "GET",
               url: '{{url}}', #the data comes from an external source. #The URL is passed by the view to the template
               dataType: 'json',
               crossDomain : true,
               delay: 250,
               data: function (params) {
                                   return {
                                       q: params.term,
                                       access_token: '{{access_token}}'
                                   };
                               },
               processResults: function (data, params) {
                   var newData = $.map(data.items, function (obj) {
                       obj.id = obj.id || obj.vehicle.text;
                       return obj;
             });
                     return {
                       results: newData,
                     };
                   },
           },
           placeholder: '{{author}}',
           }).on("change", function(e) {
              var lastText = $(".js-data-ajax option:last-child").text();
              document.getElementById('id_book').value = lastText;
             });
        </script>

此代码有效,但它仍然无法完全满足我的需求: 如您所见,我在视图中获得了{{author}}参数。我需要使用此参数的值初始化select2搜索框,并且可以使用用户键入的信息补充此参数。

例如:

假设通过{{author}}参数传递的值是&#34; Andrew Stuart&#34;。我需要通过名称&#34; Andrew Stuart&#34;来启动搜索框。并且用户可以输入更多信息,例如过滤器。作为:&#34; Andrew Stuart&#34; +无论

必须使用新信息在外部源中进行新搜索。

我尝试过类似的事情:

q: '{{author}}' + params.term,

但不起作用

0 个答案:

没有答案