2017-09-15 17 views
1

Ich bekomme Ergebnisse in meinem Ajax Anruf, aber die select Element wird nicht im Material-Stil gerendert, nur in der Auswahl Browser-Standard. Ich habe bereits verschiedene Formen von rendern meine Funktion in $('select').material_select(); sowohl in $.each, $.append und auf Erfolgsfunktion, aber ohne Ergebnisse versucht.Wählen Sie nicht im Material Design gerendert - Unerwartetes Token `<`

Vorlage Seite.

<div class="input-field col s12"> 
    <select id="getUnit" ></select> 
    <label>Units</label> 
    </div> 

Ajax Jquery Get.

$(function() { 
    //request the JSON data and parse into the select element 
    $.ajax({ 
    type: "GET", 
    url: '/product/unit-measurement-search', 
    success: function (unitMeasurement) { 
     //get a reference to the select element 
     $unit = $('#getUnit'); 
     //clear the current content of the select 
     $unit.html(''); 
     //iterate over the data and append a select option 
     $.each(unitMeasurement, function (info, unitSearch) { 
     $unit.append('<option id="' + unitSearch.descriptionUnitMeasurement + '">' + unitSearch.descriptionUnitMeasurement + '</option>'); 
     }); 
    } 
    }); 
}); 

Back-End-Prozessanforderung json.

router.get('/product/unit-measurement-search', function (req, res) { 
    connection.query('SELECT 
    acronymUnitMeasurement,descriptionUnitMeasurement FROM unit_measurement', 
    function (err, unitMeasurement, fields) { 
    if (err) { 
     throw err; 
    } 
    res.send(unitMeasurement); 
    } 
); 
}); 

Rückgabe in Front-End-Vorlage zeigt nur Label von wählen.

Edit:

Das ist meine Konsole Ausgabe:

enter image description here

+0

Wo wählen Sie die Auswahl aus? Ist es $ Einheit? – epascarello

+0

Nachdem die '$ .each' beendet ist, tun Sie' $ unit.material_select(); '. Das sollte es tun. – trincot

+0

@epascarello yesss – Gabriel

Antwort

0

Die Konsole zeigte diesen Fehler:

Uncaught SyntaxError: Unexpected token <                       materialize.js:1

... und die gleichen Fehler für die anderen modal.js Skript du lädst.

Dies deutet darauf hin, dass die Skriptdatei beschädigt ist. Es könnte sein, dass es falsch gespeichert wurde. Vielleicht haben Sie es beim Herunterladen als Browserseite im Browser geöffnet und diese Seite in HTML-Codierung am endgültigen Speicherort gespeichert. Oder noch etwas ist passiert.

Um sicherzustellen, dass es mit einer richtigen Skriptdatei funktioniert, ersetzen Sie die Script-Tag aus:

<script type="text/javascript" src="js/materialize.min.js"> 

zu:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/j‌​s/materialize.min.js"> 

Nun sollten Sie nicht mehr in der Konsole, dass Fehler. Sie können dann fortfahren, diese Datei ordnungsgemäß herunterzuladen (nicht öffnen), kopieren Sie es in den Ordner js, und setzen Sie Ihr src Attribut zurück, was es war. Wenn die Konsolenfehler behoben sind, müssen Sie das select Element noch ordnungsgemäß rendern. Nachdem die $.each Schleife abgeschlossen ist, tun Sie $unit.material_select();. Das sollte das Element wie gewünscht rendern.

Verwandte Themen