发送每个行表单的下拉值

时间:2018-03-23 16:43:34

标签: javascript php select input

我有一个表格中的下拉值和一个用于提交数据的行表。 我想做的是在提交每一行时提交从下拉列表中获取值。 我的表看起来像this我的dropdrown列表代码是

<div class="panel-heading">
   <label for="cat">Select a Category</label>
      <select class="form-control" id='category' name="category" data-live-search="true" style="max-width:40%;" >
         <?=$html?>
      </select>
  </div>

表行的部分是

<form id="sync-cat" action="controllers/product-add.php" target="_blank">
     <input type="hidden" name="product" value="<?=$product['id']?>">
     <button type="submit" class="btn btn-info btn-md">Sync Products</button>
</form>

我尝试使用javascript复制隐藏输入中的选定值,但仅针对第一行运行。此外,我在复制选择选项的下拉列表上方尝试了一个隐藏的输入,但是当我使用提交按钮“同步产品”时,我找不到获取价值的方法

1 个答案:

答案 0 :(得分:1)

他们应该在HTML中共享相同的表单,以便在发布表单时,表单中会显示所有可用信息。无论你的下拉列表是否也应该以它自己的形式(如果你没有把它们放在同一个表格中)有效。

如果你想继续这样做而忽略了上面要考虑的正确事情,你可以用这样的东西来做。这个解决方案会让事情变得复杂一些。我建议采取上述建议。

var form = document.getElementById('sync-cat')

form.addEventListener('submit', function(e) {
  var valueFromDropDown = document.getElementById('category').value;

  // Post the rest of the form
});

按照此guide的其余部分完成JavaScript帖子