[英]Create an array of div children
I have some rows with inputs. 我有一些输入行。 I want to create an array for each row which contains values of the inputs.
我想为包含输入值的每一行创建一个数组。 So if I have 3 rows, and values of 'input1' are 1, values of 'input2' are 2 and values of 'input3' are 3, the array would look like this:
因此,如果我有3行,并且'input1'的值是1,'input2'的值是2而'input3'的值是3,则数组如下所示:
[
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]
]
This is my HTML code: 这是我的HTML代码:
<div class="container">
<div class="row">
<input id="input1">
<input id="input2">
<input id="input3">
</div>
<div class="row">
<input id="input1">
<input id="input2">
<input id="input3">
</div>
<div class="row">
<input id="input1">
<input id="input2">
<input id="input3">
</div>
</div>
How can I do it in jQuery? 如何在jQuery中做到这一点?
As far as I understand your question I would do something like this: 据我了解你的问题,我会做这样的事情:
var obj = {};
$('.row').each(function(ind1) {
obj[ind1] = {};
$(this).children().each(function (ind2) {
obj[ind1][ind2] = $(this).val();
});
});
HTML: HTML:
<div class="container">
<div class="row">
<input class="input1">
<input class="input2">
<input class="input3">
</div>
<div class="row">
<input class="input1">
<input class="input2">
<input class="input3">
</div>
<div class="row">
<input class="input1">
<input class="input2">
<input class="input3">
</div>
</div>
Javascript: Javascript:
var data = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
$('.container .row').each(function(row) {
$(this).children().each(function (column) {
$(this).val(data[row][column]);
});
});
OR 要么
HTML: HTML:
<div class="container"></div>
Javascript: Javascript:
var data = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
for(var i = 0; i < data.length; i++){
var arr = data[i];
var row = $(".container").append("<div class='row'></div>");
for(var j = 0; j < arr.length; j++){
var i_name = 'input-'+i+'-'+j;
row.append('<input id="'+i_name+'" type="text" name="'+i_name+'" value="'+arr[j]+'">');
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.