javascript - 获取输入属性并在 jquery 中创建带有索引的多维数组

标签 javascript jquery arrays

我有一些输入字段

<input class="first" type="text" unique="001" value="2" />
<input class="second" id="001" type="text" value="2" />

<input class="first" type="text" unique="002" value="3" />
<input class="second"  id="002" type="text" value="2" />

<input class="first" type="text" unique="003" value="4" />
<input class="second"  id="003" type="text" value="3" />

我想生成一个像这样的多维数组

a={
    {value:2, unique:001, value2:2},
    {value:3, unique:002, value2:2},
    {value:4, unique:003, value2:3},
}

我尝试的是

$(".first").each(function() {
  var a={};
  var x=a['value']=$(this).val();  
  var y=a['unique']=$(this).attr('unique');  
  var z=a['value2']=$('#'+y).val();
}) 
console.log(a);

我知道这行不通。有什么想法可以解决它!

最佳答案

您需要将 a 声明为 .each 代码外部的数组,然后将每个对象插入其中。试试这个:

var a = [];
$(".first").each(function() {
var x=$(this).val();  
var y=$(this).attr('unique');  
var z=$('#'+y).val();
a.push({value: x, unique: y, value2: z});
});
console.log(a);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input class="first" type="text" unique="001" value="2" />
<input class="second" id="001" type="text" value="2" />

<input class="first" type="text" unique="002" value="3" />
<input class="second"  id="002" type="text" value="2" />

<input class="first" type="text" unique="003" value="4" />
<input class="second"  id="003" type="text" value="3" />

关于javascript - 获取输入属性并在 jquery 中创建带有索引的多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53466903/

相关文章:

arrays - 如何像在 Python 中一样在 Julia 中拆分数组?

javascript - 无法使用removeChild删除我的2个INPUT字段

c# - 如何将通用数组转换为另一种类型?

javascript - 如何在使用 document.write 时忽略 HTML 标签

javascript - 文本区域的不寻常形状?

javascript - 如何使用jquery选择具有属性和属性不等于特定值的元素?

javascript - 即使我不要求,Qtip 仍在制作中?

c - 以一致的方式别名结构和数组

JavaScript 尝试并捕获

javascript - Yeoman Gruntfile 使用的 .tmp 目录的用途是什么