![](/img/trans.png)
[英]Javascript / React - How to update the values of a multidimensional array with the values of a `select` input inside of a forEach loop?
[英]Javascript on change update input values in foreach
所以我必须从一个下拉菜单中更新每种形式的值
这是我的群组选择框中的代码
echo $this->Form->input('groups', ['options' => $groups, 'id' => 'groups', 'class' => 'selectpicker', 'label' => false, "onchange"=>"updateGroupId(this.value)"]);
这是我生成表格的代码
<table class="table table-striped">
<tbody>
<?php foreach($allProducts as $product): ?>
<tr>
<td>
<form class="form-inline" name="uploadform-<?= $product->id ?>" id="uploadform-<?= $product->id ?>" onsubmit="return checkInput<?= $product->id ?>()" enctype="multipart/form-data" action="/upload/<?= $product->id ?>" method="post">
<span class="btn btn-primary btn-file">
<span><i class="zmdi zmdi-upload zmdi-hc-fw"></i><?= __('Upload CSV') ?></span>
<input id="browsefiles-<?= $product->id ?>" name="uploadcsv" type="file" required="required" />
<span id="errornotification-<?= $product->id ?>" class="hidden"><?= __('Select CSV File') ?></span>
</span>
<input type="text" name="group_id-<?= $product->id ?>" id="group_id-<?= $product->id ?>" value="<?= key($groups) ?>" />
</form>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
这是我的JavaScript代码
<?php
$i=0;
foreach ($allProducts as $product) {
?>
function updateGroupId(ish){
document.forms["uploadform-<?= $product->id ?>"]["group_id-<?= $product->id ?>"].value = ish;
} } ?>
使用此代码,我可以仅在最后输入时更新更改值,但是我需要所有输入(groups_id)。
我已经找到了答案,所以如果有人需要解决方案,那就是!
因此,这就是使用选择框(on.change函数)更改具有相同 名称的所有输入的值的方法
选择框选择输入需求->
"onchange"=>"updateGroupId(this.value)"
改变的输入
<input type="hidden" name="group_id" value="<?= key($groups) ?>" />
和JS代码
function updateGroupId(ish){
var group_ids = document.getElementsByName('group_id');
for (var i=0;i<group_ids.length;i++) {
group_ids[i].value = ish;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.