所以我必须从一个下拉列表中更新每个表单中的值
以下是我的论坛选择框中的代码
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)。
答案 0 :(得分:0)
我已经找到了答案,所以如果有人需要解决方案,那就是!
因此,这是如何使用选择框(on.change函数)使用相同 名称更改所有输入的值
选择框 选择输入需要 - &gt;
"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;
}
}