作为 JavaScript 对象/数组键-6ren"> 作为 JavaScript 对象/数组键-我正在尝试准备以下输入 在 ajax 函数中使用它们以通过 PHP 验证它们。我将收到的数组应类似于 $data['customer']['firstname']。 这是我的第一次尝试 $.ea-6ren">
gpt4 book ai didi

javascript - 如何使用嵌套 HTML <input[name =""]> 作为 JavaScript 对象/数组键

转载 作者:行者123 更新时间:2023-12-02 22:04:31 24 4
gpt4 key购买 nike

我正在尝试准备以下输入

<input type="text" name="customer[firstname]">
<input type="text" name="customer[surename]">
<input type="text" name="customer[cuid]">

在 ajax 函数中使用它们以通过 PHP 验证它们。我将收到的数组应类似于 $data['customer']['firstname']

这是我的第一次尝试

$.each($('input[name^="customer"]').serializeArray(), function() {
data[this.name] = this.value;
});

问题:请求中的数组看起来像 $data["[customer[firstname]"] 并且它不漂亮,我将有不同的键,例如 Product[...]、order [...]。然后我需要“客户”作为单独的 key 。

然后我考虑删除并替换括号,并在发送之前创建自己的数组。但问题比我想象的要多......

var data = {};

$.each($('input[name^="customer"]').serializeArray(), function() {
let name = this.name.replace( ']', '' ).replace( '[', ',' ).split(',')[1];
data['customer'].push({[name] : this.value}); // <- Error: push is not a function
data = { 'customer' : {[name] : this.value} }; // <- Problem: data gets overwritten with the next key:value
data['customer'][name] = this.value; // <- Error: `customer` not defined
});

这 3 个例子只是我尝试过的几个......

有人知道如何解决这个问题吗?

最佳答案

现在它可以正常工作了。请检查一下。

var data = { customer: [] }; 
$.each($('input[name^="customer"]').serializeArray(), function() {
var new_name = this.name.replace("customer[", "");
new_name = new_name.replace("]", "");
data['customer'].push(new_name);
data['customer'][new_name] = this.value;
});

关于javascript - 如何使用嵌套 HTML &lt;input[name =""]> 作为 JavaScript 对象/数组键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59760842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com