在for循环中获取隐藏的输入值到javascript

时间:2019-02-26 14:12:45

标签: javascript php loops for-loop

我在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

2 个答案:

答案 0 :(得分:1)

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

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

})

答案 1 :(得分: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>