【问题标题】:Select2 AJAX not showing "No data found" when no data in database, instead showing search parameter as option to select当数据库中没有数据时,Select2 AJAX 不显示“未找到数据”,而是显示搜索参数作为选择选项
【发布时间】:2020-08-14 15:17:12
【问题描述】:

我一直在从事一个项目,我必须从 ajax 调用加载 select2 选项。

代码工作正常,除了在搜索结果中,它总是显示搜索参数作为选项。即使数据库中没有数据,它仍然显示为选项,而不显示“未找到数据”。

我的代码在这里

       $(".search_user").select2({
            minimumInputLength: 11,
            tags: [],
            ajax: {
                url: "/user/get_user",
                dataType: 'json',
                type: "GET",
                quietMillis: 250,
                data: function (term) {
                    return {
                        term: term
                    };
                },
                processResults: function (data) {
                    var Return = [];
                    for (var i in data.item) {
                        console.log(data.item[i])
                        if (data.item[i].id != data.item[i].text) {
                            Return.push(data.item[i]);
                        }
                    }
                    return {
                        results: Return
                    }
                }
            }
        });

我的返回json是这样的

{"item":[{"id":16,"name":"Razin Abid"}]}

我的观点是这样的。

请帮帮我。

【问题讨论】:

    标签: javascript jquery-select2


    【解决方案1】:

    如果你在 stisla 上使用 firemodal

    $('#modal-create-promo').click(()=>{
        setTimeout(()=>{
            $('#fire-modal-1').removeAttr('tabindex');
        });
    });
    
        $("#modal-create-promo").fireModal({
        ...
    });
    

    这对我有用

    【讨论】:

      【解决方案2】:

      那是因为您启用了 select2 中的标签选项。您需要从代码中删除“标签:[]”。

      访问:https://select2.org/tagging

      所以,你的代码应该是这样的:

      $(".search_user").select2({
              minimumInputLength: 11,
              ajax: {
                  url: "/user/get_user",
                  dataType: 'json',
                  type: "GET",
                  quietMillis: 250,
                  data: function (term) {
                      return {
                          term: term
                      };
                  },
                  processResults: function (data) {
                      var Return = [];
                      for (var i in data.item) {
                          console.log(data.item[i])
                          if (data.item[i].id != data.item[i].text) {
                              Return.push(data.item[i]);
                          }
                      }
                      return {
                          results: Return
                      }
                  }
              }
          });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-15
        • 1970-01-01
        相关资源
        最近更新 更多