Javascript 将数组中的项填充到不同的选项标记中
我试图使用jQuery将通过ajax返回的一些用户名加载到下拉菜单中。结果成功进入下拉菜单,但所有数据仅进入一个选项标记。我希望数据位于不同的选项标记中 当前下拉菜单如下所示 名字1,名字2,名字3,名字4 但我想: 名称1 姓名2 名字3 名字4 将结果放在下拉列表中:Javascript 将数组中的项填充到不同的选项标记中,javascript,jquery,html,drop-down-menu,Javascript,Jquery,Html,Drop Down Menu,我试图使用jQuery将通过ajax返回的一些用户名加载到下拉菜单中。结果成功进入下拉菜单,但所有数据仅进入一个选项标记。我希望数据位于不同的选项标记中 当前下拉菜单如下所示 名字1,名字2,名字3,名字4 但我想: 名称1 姓名2 名字3 名字4 将结果放在下拉列表中: <div class="form-group"> <select name="name" class="form-control" id="employee_select"> </
<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>");
})
谢谢。也许有一种更优雅的方式来做这件事,但是 如果将每个结果推送到一个数组中,然后对数组中的每个项运行for循环,检查每个项是否为字符串,会怎么样。成功的结果是,你进入了最后的阵营
for(i=0;i<array.length;i++){
if(typeof(array[i])=='string'){
newArray.push(array[i])
}
}
您需要修复来自用户的结果。。共享如何传递URL的结果检查返回的字符串是否不包含\n\n-使用\n拆分字符串时,将创建empy数组元素,然后将这些元素传递到选项中。如果您使用console.logstr,那么您将能够在分割之前看到返回的数据。感谢您迄今为止的帮助!我已经更新了我的问题。你能帮忙吗?