javascript - 分别读取div中包含的输入值

标签 javascript jquery arrays json function

我的 html 看起来像这样:

<div id="Section1" class="divFiles">

<input type="text" name="file">

<input type="text" name="file">

<input type="text" name="file">

<input type="text" name="file">

</div>

  <div id="Section2" class="divFiles">      

<input type="text" name="file">

<input type="text" name="file">

<input type="text" name="file">

<input type="text" name="file">

</div>

我想生成一个具有两个属性的对象列表:keylistTitles,key只是div的id, listTitlesinput 字段上每个值的列表。我单独检索每个 div 的 id 没有任何问题,但我不确定哪种方法是 div 读取其子 inputs 中包含的所有值的正确方法。 我的目标是得到这样的结果:

{key: Section1, listTitles: inputValue1Div1, inputValue2Div1, inputValue2Div1, inputValue2Div1 },
{key: Section2, listTitles: inputValue1Div2, inputValue2Div2, inputValue2Div2, inputValue2Div2 }

我使用的代码仅检索 div id,问题是用当前 div 的输入值字段填充 listTitles 属性。我需要改变什么?

    var divElements = $(".divFiles");
    var tests = [];
     $.each(divElements, function () {           
     tests.push({ 'key': $(this).attr('id'), 'listTitles':$.each(JSON.parse($(this).children("input[name=file]").val()))});
     })

最佳答案

你快明白了。请改用 .map().get()

var divElements = $(".divFiles");
var tests = [];

$.each(divElements, function() {
  tests.push({
    'key': $(this).attr('id'),
    'listTitles': $(this).children("input[name=file]").map(function(i, elem) {
      return this.value;
    }).get()
  });
})

console.log(tests);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="Section1" class="divFiles">
  <input type="text" name="file" value="a">
  <input type="text" name="file" value="b">
  <input type="text" name="file" value="c">
  <input type="text" name="file" value="d">
</div>

<div id="Section2" class="divFiles">
  <input type="text" name="file" value="e">
  <input type="text" name="file" value="f">
  <input type="text" name="file" value="g">
  <input type="text" name="file" value="h">
</div>

关于javascript - 分别读取div中包含的输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43882413/

相关文章:

arrays - 在 BASH 中扩展数组

C - 使用指针向上移动数组元素

javascript - 让js和css与Ratchet的push.js一起工作

javascript - 如何使用 LDAP.js 将用户添加到 LDAP 组

javascript - jquery,仅在显示其他内容时才显示

javascript - Jquery 日期比较

javascript - 如何限制最大长度后的粘贴功能

php - 重定向、屏幕分辨率或用户代理哪个更好?

javascript - 单击父复选框时检查子复选框

c++ - 如何在构造函数中初始化数组?