如何通过Jquery从具有相同名称但不同索引的输入中获取所有值

时间:2016-05-14 13:00:54

标签: javascript jquery input indexing get

我有一个任务,现在这很奇怪,我不知道,怎么做。因此,我有非特定数量的输入,名称为car,但索引不同,例如submasterval

看起来像这样:

<input type='text' name='bike[master]' value='some predefined value 1'>
<input type='text' name='bike[sub]' value='some predefined value 2'>
<input type='text' name='bike[val]' value='some predefined value 2.1'>
<input type='text' name='bike[sub]' value='some predefined value 3'>
<input type='text' name='bike[val]' value='some predefined value 3.1'>

我需要,jQuery在用户点击输入后,将所有这些值从输入转移到一个变量(如果可能的话),然后发送到服务器,将这些数据放在一起并与它们一起使用。

有什么想法吗?对我来说,索引有点复杂。

2 个答案:

答案 0 :(得分:2)

您可以使用Attribute Starts With Selector

 $( "input[name^='bike']" );

<强> See JSFiddle

答案 1 :(得分:1)

您可以点击namebike点击的每个输入的值,并将其推入一个数组

&#13;
&#13;
var result = [];
$('button').click(function() {
  $('input[name^="bike"]').each(function() {
    result.push($(this).val());
  })
  console.log(result)
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' name='bike[master]' value='some predefined value 1'>
<input type='text' name='bike[sub]' value='some predefined value 2'>
<input type='text' name='bike[val]' value='some predefined value 2.1'>
<input type='text' name='bike[sub]' value='some predefined value 3'>
<input type='text' name='bike[val]' value='some predefined value 3.1'>
<button>Send</button>
&#13;
&#13;
&#13;

您还可以使用JQuery serializeArray()函数并返回数组,然后使用该数据

&#13;
&#13;
$('form').click(function() {
  var data = $(this).serializeArray();
  data.forEach((e) => {console.log(e.value)});
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="">
  <input type='text' name='bike[master]' value='some predefined value 1'>
  <input type='text' name='bike[sub]' value='some predefined value 2'>
  <input type='text' name='bike[val]' value='some predefined value 2.1'>
  <input type='text' name='bike[sub]' value='some predefined value 3'>
  <input type='text' name='bike[val]' value='some predefined value 3.1'>
  <input type="submit" value="Send">
</form>
&#13;
&#13;
&#13;