从具有相同名称的输入字段中获取值

时间:2017-10-13 09:50:51

标签: jquery input

我有一些输入字段与循环中的数组同名。

类似的东西:

<input name="vehicle[$i][amount]" ...> // $i = 1
<input name="vehicle[$i][name]" ...>

<input name="vehicle[$i][amount]" ...> // $i = 1
<input name="vehicle[$i][name]" ...>

<input name="vehicle[$i][amount]" ...> // $i = 1
<input name="vehicle[$i][name]" ...>

现在我想获取名为“vehicle”

的所有输入的值

我想要的输出应该是:

[0] => 'amount' => (for example) 5
       'name' => BMW
[1] => 'amount' => (for example) 15
       'name' => Audi

等等。

我如何得到这个?我尝试了很多东西。

类似的东西:

    var vehicle;
    $('input[name="product"]').each(function () {
        vehicle.push($(this).val());
    });

但是我尝试的这个和类似的解决方案对我没用。

感谢你的帮助,抱歉我的英语不好!

3 个答案:

答案 0 :(得分:0)

您可以按名称获取所有车辆包含带选择器*的字符串:

var vehicle = [];
$('input[name*="Audi"]').each(function () {
    vehicle.push($(this).val());
});

答案 1 :(得分:0)

You can try this:

<input name="titles[]">
<input name="titles[]">
​<button>submit</button>​​​​​​​​​​​​​​​​​​​​​​​

With this jQuery

// click handler
function onClick(event) {
  var titles = $('input[name^=titles]').map(function(idx, elem) {
    return $(elem).val();
  }).get();

  console.log(titles);
  event.preventDefault();
}

// attach button click listener on dom ready
$(function() {
  $('button').click(onClick);
});

答案 2 :(得分:0)

您可以使用以下方法创建输入:

true

然后......

false
<?php
for($i = 0; $i < 3; $i++) {
    print('<div class="vehicle">');
    print('<input name="amount">');
    print('<input name="name">');
    print('</div>');
}
?>