在数组中存储键值对

时间:2016-05-12 02:42:08

标签: javascript jquery

这是我的html输入元素

<div class="form-group">
  <div class="col-lg-6">
     <input type="text" name="Key" class="form-control" placeholder="Key">
  </div>
  <div class="col-lg-6">
    <input type="text" name="Value" class="form-control" placeholder="Value"/>
  </div>
</div>

<div class="form-group">
  <div class="col-lg-6">
     <input type="text" name="Key" class="form-control" placeholder="Key">
  </div>
  <div class="col-lg-6">
    <input type="text" name="Value" class="form-control" placeholder="Value"/>
  </div>
</div>

我怎样才能获得所有&#39; Key&#39;和&#39;价值&#39;使用Jquery将它们保存到数组中?像这样result =[ {'Key' : 'Value'}, {'Key' : 'Value'} ];

2 个答案:

答案 0 :(得分:0)

我自己正在学习javascript和jQuery,但由于你没有展示任何具体的尝试并获得解决方案,我可以描述如何获得我认为你想做的事情。我的工作基于我在jQuery中已经看到的东西,与访问该网站的很多人相比并没有多少,并且做了一些谷歌搜索我自己确认一些事情。也就是说,这里描述了我认为如何达到你想要的结果。

以下是一个示例文本,可帮助您了解示例。由于div中的每对输入都具有一致的类名,因此可以使用$(".form-group")查找该类的所有元素。一旦你拥有了一对数组,就可以把事情提升到一个新的水平。接下来,您可以使用jQuery的each()函数来迭代数组的内容。对于数组的每个元素,您可以使用find()函数查找名称为“Key”和“Value”的输入。此时,您可以填充JSON数组。

答案 1 :(得分:0)

我已经让你成为basic fiddle;

所以基本上使用jQuery的each()函数,你可以遍历表单组并获取键和值并将它们推送到数组中。

&#13;
&#13;
//defining your empty array here
var arr = [];
//setting up the click function to return your array in console.
$('.cnsllog').on('click', function() {
  //go through all the form groups
  $('.form-group').each(function() {
    //set the input with name equal to value as value variable
    value = $(this).find("input[name='Value']").val()
      //set the input with name equal to Keyas value Key
    key = $(this).find("input[name='Key']").val()
      //push these two variables to your array
    arr.push({
      key: key,
      value: value
    })
  });
  console.log(arr)
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div class="form-group">
  <div class="col-lg-6">
    <input type="text" name="Key" class="form-control" placeholder="Key">
  </div>
  <div class="col-lg-6">
    <input type="text" name="Value" class="form-control" placeholder="Value" />
  </div>
</div>

<div class="form-group">
  <div class="col-lg-6">
    <input type="text" name="Key" class="form-control" placeholder="Key">
  </div>
  <div class="col-lg-6">
    <input type="text" name="Value" class="form-control" placeholder="Value" />
  </div>
</div>
<button class="cnsllog">put the array in console</button>
&#13;
&#13;
&#13;