【问题标题】:Get hidden input value inside a for loop to javascript在for循环中获取隐藏的输入值到javascript
【发布时间】:2019-07-20 02:40:18
【问题描述】:

我在 php 上有这段代码

for ($i=0;$i<$myCounter;$i++) {
    $inum++; //showing only by the counter.
    echo "<hr>ID de Producto ".$inum.":".$dataReceive[$i]["Detalle"]["IDENDODET"];
    echo '
        <form method="POST">
            <input type="hidden" name="IDENDODET" id="IDENDODET" class="IDENDODET" value="'.$dataReceive[$i]["Detalle"]["IDENDODET"].'">
            <button type="button" id="Delete" name="Delete" style="border:0;background-color:yellow;" onclick="deletecookieTest()"/>Borrar este ID</button>
        </form>';
}

并且我希望通过单击按钮发送 IDENDODET 中的值。我试过这个:

 var form = document.querySelector('input[name=IDENDODET]').value;

但这只会在单击按钮时给我第一个值,而不是特别是表单的值。例如,无论我点击下面的哪个按钮,我都会得到“165”而不是“167”,我需要稍后删除该部分。 here is what it looks like

【问题讨论】:

  • 当您说第一个值时,您指的是哪个值?我在表格中只看到一个值。您是否已查看源代码以查看该值是否已正确填充?
  • 我添加了一张图片来帮忙。它始终使用选择器显示第一个值。使用 querySelectorAll 它向我显示所有值。但我需要特别获取该值,以便以后能够删除 API 产品

标签: javascript php loops for-loop


【解决方案1】:

代码中还有另一个问题。从技术上讲,您不能让按钮具有相同的 id,但我要做的是将 id 传递给 deleteCookieTest 函数。这样您就不必遍历 DOM。

<button type="button" name="Delete" style="border:0;background-color:yellow;" onclick="deletecookieTest('.$dataReceive[$i]["Detalle"]["IDENDODET"].')"/>
Borrar este ID
</button>

【讨论】:

  • 有没有办法发送两个变量(IDENDODET + Quantity)而不是一个(IDENDODET)?
【解决方案2】:

使用document.querySelectorAll 将给出所有元素。这将给出一个静态节点列表,然后使用forEach 从每个项目中获取值

document.querySelectorAll('input[name=IDENDODET]').forEach(function(elem){
  console.log(elem.value);

})

【讨论】:

  • 这行得通,它向我展示了所有的价值观。但我需要将选择的特定值发送到帖子
猜你喜欢
  • 1970-01-01
  • 2013-08-18
  • 1970-01-01
  • 1970-01-01
  • 2010-11-09
  • 2019-02-26
  • 2018-05-05
  • 2018-12-29
  • 1970-01-01
相关资源
最近更新 更多