2015-08-28 131 views
0

我使用select2版本3.4.6。select2远程源不工作

荫有一些麻烦的数据输入栏,这里是我的html:

<div class="col-md-5"> 
<input id="assetTypes" name="assetTypes" class="form-control input-xlarge" placeholder="" /> 
</div> 

后端收益TE以下的输出:

[{ “Name”:服务器, “ID”: 1},{ “名”:数据库, “ID”:2}]

而且JS如下:

 $("#assetTypes").select2({ 
      ajax: { 
       url: "/assets/getAssetTypes", 
       dataType: 'json', 
       type: "GET", 
       data: function (term) { 
        return { 
         term: term 
        }; 
       }, 
       results: function (data) { 
        return { 
         results: $.map(data, function (obj) { 
          return { 
           text: obj.name, 
           id: obj.id 
          } 
         }) 
        }; 
       } 
       } 
    }); 

我没有得到任何chrome js控制台中的错误,但是当我输入时,微调器不停地旋转而不返回任何数据。

对此问题可能有何建议?

+0

您应该更新到版本4 – adrian7

回答

0

为了您的通话mapfunction()函数声明更改为function(obj),然后使用:

text: obj.name, 
id: obj.id 
+0

您好,我仍然无法得到它的工作。我更新了原始问题,希望能够反映您的建议。纺纱厂只是不停地纺纱,没有任何结果出现。控制台(Eclipse)上的服务器端输出仍然与上面相同。 chrome中的javascript conole显示没有错误。如果我把警报(obj.name);只是在这行后面:results:$ .map(data,function(obj){它没有提示警报,代码是否无法访问? – Mathias

+0

第二个问题显然是用你的JSON - 这是错误的。例如:而不是'[{“name”:Server,“id”:1},{“name”:Database,“id”:2}]'应该是'[{“name”:“Server “,”id“:1},{”name“:”Database“,”id“:2}]' – uri2x

+0

Thx太多了,它工作得很完美。花几个小时试图弄清楚这些! – Mathias