2015-08-28 68 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