如何在jquery中读取输入二维数组值?

时间:2016-02-29 09:38:07

标签: javascript jquery arrays

我有一个表单在html中添加了很多联系人,输入是二维数组,这里的形式是:

<input class="form-control" type="text" name="account[0][name]" placeholder="Name"  autocomplete="off" />
<input class="form-control" type="text" name="account[0][email]" placeholder="Email"  autocomplete="off" />
<input class="form-control" type="text" name="account[0][mobile]" placeholder="Mobile"  autocomplete="off" />

<input class="form-control" type="text" name="account[1][name]" placeholder="Name"  autocomplete="off" />
<input class="form-control" type="text" name="account[1][email]" placeholder="Email"  autocomplete="off" />
<input class="form-control" type="text" name="account[1][mobile]" placeholder="Mobile"  autocomplete="off" />

我正在尝试使用jqueryI获取值,尝试以下操作,它返回值,但我想返回帐户名称或帐户电子邮件或帐户移动的输入值

 $('input[name^="account"]').each(function() {
                console.log($(this).val());
        });

3 个答案:

答案 0 :(得分:1)

value这是一个名为placeholder的属性,因此您应该使用.attr()方法:
console.log($(this).attr(&#39;占位符&#39;));

但我想返回帐户名称或帐户电子邮件或帐户移动的输入值,您可以使用.serializeArray();

&#13;
&#13;
$('pre').html(JSON.stringify($('.form-control').serializeArray(), 0, 3));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre></pre>

<input class="form-control" type="text" name="account[0][name]" placeholder="Name"  autocomplete="off" />
<input class="form-control" type="text" name="account[0][email]" placeholder="Email"  autocomplete="off" />
<input class="form-control" type="text" name="account[0][mobile]" placeholder="Mobile"  autocomplete="off" />

<input class="form-control" type="text" name="account[1][name]" placeholder="Name"  autocomplete="off" />
<input class="form-control" type="text" name="account[1][email]" placeholder="Email"  autocomplete="off" />
<input class="form-control" type="text" name="account[1][mobile]" placeholder="Mobile"  autocomplete="off" />
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用starts withends with属性选择器:

$('[name^="account"][name$="[name]"]')

将选择名称以account开头并以[name]结尾的所有元素。

答案 2 :(得分:0)

试试这个。

&#13;
&#13;
$('input[name^="account"]').each(function() {
  alert($(this).val());
});
&#13;
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<input class="form-control" type="text" value="test" name="account[0][name]" placeholder="Name" autocomplete="off" />
<input class="form-control" type="text" value="test@gmail.com" name="account[0][email]" placeholder="Email" autocomplete="off" />
<input class="form-control" type="text" value="1234568790" name="account[0][mobile]" placeholder="Mobile" autocomplete="off" />

<input class="form-control" type="text" value="test2" name="account[1][name]" placeholder="Name" autocomplete="off" />
<input class="form-control" type="text" value="test2@gmail.com" name="account[1][email]" placeholder="Email" autocomplete="off" />
<input class="form-control" type="text" value="3216549870" name="account[1][mobile]" placeholder="Mobile" autocomplete="off" />
&#13;
&#13;
&#13;