2016-06-26 10 views
0

Ich versuche, Ergebnisse, die ich von Django REST-Framework in select2 erhalten zu verarbeiten Plugin nach Beispielen sie auf ihrer Seite haben, aber ich habe nur:Wie verarbeitet man lokal zurückgezogene Daten aus Django REST Framework in Select2?

enter image description here

D.h. unclickable und nicht durchsuchbare Liste von Text. Es funktioniert einfach nicht so wie Select2 funktionieren sollte. Hier

ist der Code:

<select class="js-data-example-ajax"> 
    <option value="3620194" selected="selected">select2/select2</option> 
</select> 

<script type="text/javascript"> 
     $(".js-data-example-ajax").select2({ 
      ajax: { 
      url: "/news/aff/users/?format=json", 
      dataType: 'json', 
      delay: 250, 
      data: function (term) { 
      return { 
       term: term.email 
       }; 
      }, 
      processResults: function (data) { 
       return { 
        results: $.map(data, function (item) { 
         return { 
          email: item.user_email 
         } 
        }) 
       }; 
      }, 
      cache: true 
      }, 
      minimumInputLength: 0, 
      templateResult: function(data) { 
      return data.email; 
      }, 
      templateSelection: function(data) { 
      return data.email; 
      } 
     }); 


</script> 

und hier wie funktioniert die Struktur in Django REST wie folgt aussehen:

enter image description here

Was mache ich falsch?

+0

Hallo, haben Sie es geschafft, es zu lösen? Ich stehe auch vor dem Problem und konnte es nicht lösen! – sphoenix

Antwort

0

Sie sollten das Objekt mit der Eigenschaft id und text versehen, damit Select2 ordnungsgemäß funktioniert.

So sollten Sie Ihren Code so zu etwas aktualisiert werden:

$(".js-data-example-ajax").select2({ 
     ajax: { 
     ... 
     data: function (term) { 
     return { 
      id: term.url, 
      text: term.user_email 
      }; 
     }, 
     ... 
     }, 
     ... 
    });