Ich versuche, einige Benutzernamen über Ajax in ein Dropdown-Menü mit jQuery zurückgegeben. Die Ergebnisse werden erfolgreich in das Dropdown-Menü übernommen, aber alle Daten werden in nur einem Options-Tag angezeigt. Ich möchte, dass sich die Daten in verschiedenen Options-Tags befinden.Füllen Sie Elemente aus einem Array in verschiedene Optionen tag
Derzeit ist das Drop-Down-Menü sieht wie folgt aus
Name1, Name2, Name3, Name4
Aber ich will als:
Name1
Name2
Name3
Name4
Dropdown wo ich die Ergebnisse bin setzen:
<div class="form-group">
<select name="name" class="form-control" id="employee_select">
</select>
</div>
jQuery:
//send value via GET to URL
var get_request = $.ajax({
type: 'GET',
url: '/users',
data: {User:User}
});
// handle response
get_request.done(function(data){
// Data returned
dataReturned = data;
// Log data
console.log($.type(dataReturned)); // response is string in the form of
// Name1
// Name2
// Convert to an array
dataArray = [dataReturned]
// Create a new array
newArray = [];
// Populate newArray with items
for(i=0;i<dataArray.length;i++){
if(typeof(dataArray[i])=='string'){
newArray.push(dataArray[i])
}
}
//console.log(newArray);
console.log($.type(newArray)); // an array is returned in the form of ["Name1,Name2,Name3,Name4"]
// Loop through newArray
$.each(newArray, function(index, value) {
$('#employee_select').append("<option>"+ value + "</option>");
})
Danke.
müssen Sie das Ergebnis beheben vom Benutzer kommen .. Anteil, wie Sie das Ergebnis aus der URL – guradio
überprüfen passieren, dass Ihre zurückgegebene Zeichenfolge enthält keine \ n \ n - die, wenn Sie es n mit \ geteilt - wird Erstellen Sie Empy-Array-Elemente, die dann an die Optionen übergeben werden. Wenn Sie console.log (str) haben, können Sie die zurückgegebenen Daten vor der Aufteilung sehen. – gavgrif