javascript - 如何插入多维关联数组

标签 javascript jquery

我正在像这样循环访问页面上的一些 HTML 表单元素。

var itemsArray = new Array();
$('input[type="text"].qty').each(function(index) {
    if($(this).val()) {
        itemsArray[index]['qty'] = $(this).val();
        itemsArray[index]['itemPrice'] = $(this).parents('.control-group').find('.itemPrice').val();
        itemsArray[index]['itemID'] = $(this).parents('.control-group').find('.itemID').val();
    }
});

索引我希望是0,1,2,3等..就像一个常规数组一样。子元素是关联的并分配给不同的值。

我在控制台中收到此错误。

类型错误:itemsArray[index]未定义

最佳答案

您需要确保外部数组中的每个项目在开始使用之前都已初始化。请注意,为了清楚起见,我将其更改为下面的对象表示法。

$('input[type="text"].qty').each(function(index) {
    if($(this).val()) {
        itemsArray[index] = {};
        itemsArray[index].qty = $(this).val();
        itemsArray[index].itemPrice = $(this).parents('.control-group').find('.itemPrice').val();
        itemsArray[index].itemID = $(this).parents('.control-group').find('.itemID').val();
    }
});

关于javascript - 如何插入多维关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17029540/

相关文章:

jquery - 如果使用 $.ajax,什么时候 ajaxError 会被调用?

javascript - 单击删除不起作用

javascript - 使用 PapaParse transformHeader 删除标题中的空格?

javascript - 打印到纸张的特定区域 C#

javascript - javascript 事件的设备方向未在 chrome android 中触发

c# - 重定向到 ASP.NET MVC 中的操作,方法不会返回 View

javascript - IndexedDB游标

Javascript - CSS,可见性onclick

javascript - 用 HTML 元素替换文本

jquery - 使用 jQuery 进行级联下拉的 3 级嵌套对象 - 第三级不起作用