Javascript 用数组中的项追加选择列表

Javascript 用数组中的项追加选择列表,javascript,jquery,arrays,select,Javascript,Jquery,Arrays,Select,我有一个数组,我想在我的选择下拉菜单中用作选项。当我运行代码时,它只附加该数组的第一项,我不知道为什么 $.ajax({ type: 'post', url: 'Reporting.aspx/actionType', contentType: 'application/json; charset=utf-8', data: '{ reportType: "' + reportType + '" }'

我有一个数组,我想在我的选择下拉菜单中用作选项。当我运行代码时,它只附加该数组的第一项,我不知道为什么

 $.ajax({
            type: 'post',
            url: 'Reporting.aspx/actionType',
            contentType: 'application/json; charset=utf-8',
            data: '{ reportType: "' + reportType + '" }',
            dataType: 'json',
            success: function (r, re) {
                $.each(r, function () {
                    testList.push(r.d)
                })

                for (var i = 0; i < testList.length; i++) {

                    $('#drpAction').append('<option>' + testList[0][i] + '</option>')

                }

                console.log(testList)
            },
            failure: function () {
                swal({
                    title: 'Error',
                    text: 'There was an error loading the data',
                    confirmButtonText: 'OK'
                })
            }
        })
您正在testList.length中循环,但使用的是testList[0][i]。。尝试改用testList[i],就像我在这里做的那样:

for (var i = 0; i < testList.length; i++) {
    $('#drpAction').append('<option>' + testList[i] + '</option>')
}
如果这些都不起作用,我必须看看您的测试列表是什么样子。

这是您的问题测试列表[0][i],您正在针对测试列表进行循环,但希望访问测试列表[0]中的列表

你应该把i放在第一个括号之间

$('#drpAction').append('<option>' + testList[i] + '</option>')

或者检查testList[0]。length

我认为您必须循环检查testList[0]中的项目

var testList=[[1,2,3]] 对于var i=0;i测试列表中有什么?请向我们展示阵列数据。您的示例看起来像是一个多维数组testList.length提供了什么?我已经更新了代码。这是一篇ajax文章,因此根据用户选择的内容,数组测试列表的内容会有所不同。
$('#drpAction').append('<option>' + testList[i] + '</option>')