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

How to get all values from inputs with same name but different index via Jquery

本文关键字:输入 索引 获取 Jquery 何通过      更新时间:2023-09-26

我有一个任务,现在这有点奇怪,我不知道该怎么做。所以,我有非特定数量的输入,名称相同的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,在用户点击输入后,如果可能的话,将所有这些值从输入中提取到一个变量,并发送到服务器,服务器将把这些数据放在一起并使用它们。

知道吗?对我来说,索引有点复杂。

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

var result = [];
$('button').click(function() {
  $('input[name^="bike"]').each(function() {
    result.push($(this).val());
  })
  console.log(result)
})
<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>

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

$('form').click(function() {
  var data = $(this).serializeArray();
  data.forEach((e) => {console.log(e.value)});
})
<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>

您可以使用属性以选择器开头

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

请参阅JSFiddle