从输入字段获取正确格式的同名字段值
我有一些输入字段与循环中的数组具有相同的名称。从输入字段获取正确格式的同名字段值
喜欢的东西:
<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]" ...>
现在我想用的名字让所有输入的值“车辆”
我想应该是的输出是这样的:
[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());
});
但是这和类似的解决方案我试过没有为我工作。
谢谢你的帮助,并对我的英语不好!
您可以使用此创建输入:
<?php
for($i = 0; $i < 3; $i++) {
print('<div class="vehicle">');
print('<input name="amount">');
print('<input name="name">');
print('</div>');
}
?>
然后...
var vehicle = [];
$('div.vehicle').each(function() {
var name = $(this).children('input[name="name"]').val();
var amount = $(this).children('input[name="amount"]').val();
vehicle.push({ name: name, amount: amount });
});
console.log(vehicle);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="vehicle">
<input type="text" name="name" value="BMW">
<input type="number" name="amount" value="5">
</div>
<div class="vehicle">
<input type="text" name="name" value="Audi">
<input type="number" name="amount" value="3">
</div>
<div class="vehicle">
<input type="text" name="name" value="Ford">
<input type="number" name="amount" value="6">
</div>
您可以通过名字得到所有车辆包含您的串选择*
:
var vehicle = [];
$('input[name*="Audi"]').each(function() {
vehicle.push($(this).val());
});
这种方式给了我以下错误:Uncaught TypeError:无法读取属性'推'未定义---另一件事,你的意思是'输入[名称* =“车辆”]' - 对不对? – dwdawdawdaw
是的!以数组形式创建您的可变车辆。请尝试我的更新。 –
@dwdawdawdaw是这个解决方案解决你的错误? –
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);
});
以及只有一半的作品。有6个领域。 现在,它给我的价值观回一个简单的数组:像这样: [ “1”, “2”, “3”, “4”, “5”, “6”] 但我想它像这样:[0] = amount =>“1”,price =>'2' [1] = amount =>“3”,price =>'4' – dwdawdawdaw
@dwdawdawdaw如果你想要这种类型的结果, ()方法在JavaScript –
你能给我一个例子如何过滤它在这段代码中? jquery文档。只给我css的解决方案,所以我有点困惑 – dwdawdawdaw
金额应该是您输入的'值',就像这个'' – SubjectDelta
Are你用PHP创建你的输入? – SubjectDelta
是的,我用PHP创建它。名称和数量是两个不同的东西。 这不是说有一个现有的名称,我想给一个数量值。 我想用新值创建一个新名称。 我在我的问题中犯了一个错误。所有这些输入字段都具有相同的$ i值。示例中全部为“1”。 – dwdawdawdaw