2015-05-27 30 views
5

Używam Select2, aby zapewnić funkcję dynamicznego wyboru na mojej stronie.Błędy Select2 - brak odpowiedzi

Oto kod: -

$("#Spon_Index").select2({ 
    placeholder: "Type to select a sponsor", 
    minimumInputLength: 3, 
    multiple: false, 
    width: 400, 
    ajax: { 
     url: "../control/autocomplete_sponsor.aspx", 
     data: function(term) { 
      return term; 
     }, 
     results: function(data, page) { 
      alert(results); 
      return { 
       results: data 
      } 
     }, 
     formatResult: function(data) { 
      return data.text; 
     }, 
     formatSelection: function(data) { 
      return data.id; 
     }, 
     escapeMarkup: function(m) { 
      return m; 
     } 
    } 
}); 

Korzystanie Skrzypek, widzę, że jestem coraz prawidłowego zwrotu z autocomplete_sponsor.aspx, na przykład: -

[{"id":"12","text":"Smiths"},{"id":"118","text":"Dr Smiths"}] 

Jednak nic nie jest dzieje się z kontrolą w ogóle. Jest albo wisi na „Searching”, albo nic ... Sprawdziłem narzędzi programistycznych i jest błąd: -

Uncaught TypeError: Cannot read property 'slice' of undefined 

szukałem w niektórych innych rozwiązań na SO i próbowałem różnych refaktoryzacji z mój kod, żeby to zadziałało, ale mam już oficjalnie zabrakło pomysłów .... mając nadzieję, że jest to coś naprawdę prostego, którego mi nie udało.

+0

Jeśli możesz dołączyć funkcję śledzenia wstecznego dla tego błędu, może to dostarczyć trochę informacji na temat problemu. –

Odpowiedz

4

Select2 wydaje się potrzebować obiektu JavaScript zamiast łańcucha JSON. Poniższy kod jest dla select2 v4.0.3, więc results został zastąpiony przez processResults.

$("#Spon_Index").select2({ 
    placeholder: "Type to select a sponsor", 
    minimumInputLength: 3, 
    multiple: false, 
    width: 400, 
    ajax: { 
     url: "../control/autocomplete_sponsor.aspx", 
     data: function(term) { 
      return term; 
     }, 
     processResults: function(data, page) { 
      return { results: JSON.parse(data) }; 
     }, 
    } 
}); 
Powiązane problemy