我创建了多个输入字段:
<div class="form-text-field first-name field-group">
<input data-index="1" type="text" id="firstName1" class="signup-input firstName" name="first[1]" placeholder="">
</div>
<div class="form-text-field email field-group">
<input type="text" data-index="1" id="inputMail1" class="signup-input text-value ignore" name="email[1]" placeholder="${message(code:"signup.redesign.placeholder.eg.email")}"/>
<span class="common-sprite disNone sign-up-cross first clone"></span>
</div>
我在 JS 文件中有一个代码可以克隆每个输入。
我必须根据输入的值创建数组(一个用于电子邮件,一个用于名字)。
这是函数:
var arrEmail = []
var arrName = []
function add() {
var obj = {};
var partner = {}
$('.email input[type="text"]').each(function() {
obj[this.data-index] = this.value;
});
arrEmail.push(obj)
$('.first-name input[type="text"]').each(function() {
partner[this.data-index] = this.value;
});
arrName.push(partner)
console.log(arrEmail[0])
}
我没有成功获取这段代码中的数组。我该如何修复它?
最佳答案
你有一些错误。
$('.email input[type="text"]').each(function({
) 行中的语法错误。您忘记关闭括号。- 我不明白你为什么尝试以这种奇怪的方式获取值(value)。您包含了 jQuery。使用它!
我修复了你的代码。
var arrEmail = [];
var arrName = [];
function add() {
var obj = {};
var partner = {};
$('.email input[type="text"]').each(function(item) {
obj[$(this).data('index')] = $(this).val();
});
arrEmail.push(obj);
$('.first-name input[type="text"]').each(function() {
obj[$(this).data('index')] = $(this).val();
});
arrName.push(obj);
console.log(arrEmail);
console.log(arrName);
}
$('#test').on('click', add);
更新#1
尚未显示所有条件。已修复。
关于javascript - 如何从输入创建数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29626459/