[英]How to insert value into an array of input using javascript
我正在生成带有数组的输入行。
@foreach($msp_temp as $current)
<td>
<input type="number" step ="0.01" class="required" name="firstEntry[]" id="firstEntry">
</td>
<td>
<input type="number" step ="0.01" class="required" name="secondEntry[]" id="secondEntry">
</td>
...
我在某个地方设置了一个变量:
var entrysum = 0
我想将变量值(entrysum)插入[]并在每个循环中增加变量。
如何在每个循环之后将entrysum值插入firstEntry [],secondEntry [],并将变量值增加1?
我将假定按照代码,总是有几个firstEntry和secondEntry,并且我知道您想使用相同的值一起更新它们。
首先,获得所有输入名称以firstEntry开头的名称,另一个以secondEntry开头的名称:
var firstEntries = document.querySelectorAll('[name^="firstEntry"]');
var secondEntries = document.querySelectorAll('[name^="secondEntry"]');
其次,您迭代所有元素并自动增加值。
for (var i = 0; i < firstEntries.length; i++) {
firstEntries[i].value = entrysum; // update firstEntry
secondEntries[i].value = entrysum; // update secondEntry
entrysum++; // increment entrysum
}
注意:如果entrysum始终从0开始并以1递增,则可以简单地从循环中使用i。
我希望这有帮助。
尝试这个
@foreach($msp_temp as $current)
<td>
<input type="number" step ="0.01" class="required" name="firstEntry[]" id="firstEntry">
</td>
<td>
<input type="number" step ="0.01" class="required" name="secondEntry[]" id="secondEntry">
</td>
@php
$entrysum++;
@endphp
Javascript是一种客户端编程/脚本语言。 看起来您正在粘贴PHP中的元素,而entrysum
是一个Javascript变量。
PHP是一种服务器端编程语言。 您不能在PHP之前或与之同时运行Javascript。
您可以通过使用for
循环而不是foreach
来完成任务,按索引访问元素。
如果您有此设置:
$msp_temp = [];
$i = 0;
for($i = 0; $i < count($msp_temp); $i++){
echo "<input type='number' step ='0.01' class='required' name='secondEntry[$i]' id='secondEntry'>";
// ...
}
echo "<script>var entrysum = $i;</script>"
该数字将自动增加,并且该变量可用于Javascript。
您有些困惑, []
括号会自动增加下一个键,所以
无需付出额外的努力来制作数组键
而是需要使输入文本ID唯一,要使唯一ID只需像这样添加$key
@foreach($msp_temp as $key=>$current)
<td>
<input type="number" step ="0.01" class="required" name="firstEntry[]" id="firstEntry{{$key}}">
</td>
只需提交您的表格并检查发布请求,您将获得firstEntry
和secondEntry
数组
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.