2015-03-13 10 views
12

Mam następujący kod (JavaScript):select2 ładowania danych przy użyciu Ajax nie można wybrać dowolną opcję

$('#cbxConnections').select2({ 
    minimumInputLength: 0, 
    multiple: false, 
    allowClear: true, 
    placeholder:{ 
     text:"@Diccionario.Connections", 
     id:" @Diccionario.Connections" 
    }, 
    ajax:{ 
     url:'@Url.Action("GetActiveConnections","Admin")', 
     dataType: 'json', 
     type:'post', 
     data:function(params){ 
      return { 
       q: params.term 
      }; 
     }, 
     processResults: function(data,page){ 
      return { 
       results: data 
      }; 
     } 
    }, 
    escapeMarkup: function (markup) { 
     return markup; 
    }, 
    templateResult: function(response){ 
     return '<div>'+response.Name+'</div>'; 
    }, 
    templateSelection: function(response){ 
     return response.Id; 
    }, 
    id: function(connection){ 
     console.log(connection); 
    } 
}); 

Na stronie serwera używam ASP MVC 4. SELECT dane GET przy użyciu ajax i renderowanie opcje ale tych opcji nie można wybrać. przeczytaniu innych stanowisk, ich opisać za pomocą funkcji ID, ale ta funkcja appearently desappears od wersji Select2 używam 2.4

mam foolowing przykład AJAX w dokumentacji pokazano na github „Ładowanie zdalnego dane”

Odpowiedz

51

Jeśli ajax odpowiedź nie mają id i tekst atrybuty powinien je naprawić stronie klienta

to wymaganie od wersji 4.0 (nie wiem dlaczego)

ajax: { 

    processResults: function (data, params) { 

       params.page = params.page || 1; 

       // you should map the id and text attributes on version 4.0 

       var select2Data = $.map(data.result.data, function (obj) { 
        obj.id = obj._id.$id; 
        obj.text = obj.name; 

        return obj; 
       }); 

       return { 
        results: select2Data, 
        pagination: { 
         more: data.result.more 
        } 
       }; 
      } 

} 
+0

Dzięki! bardzo pomogło. – victorkurauchi

+0

Dzięki za wyjaśnienie. – KostasC

+0

Idealny, jak chciałem. Wielkie dzięki. –

Powiązane problemy