【问题标题】:implementing unique id name for each hidden value为每个隐藏值实现唯一的 id 名称
【发布时间】:2018-07-07 22:23:03
【问题描述】:

我正在尝试为里面的每个隐藏输入实现一个唯一的 id 名称,而条件假设我有这个代码

while(mysqli_stmt_fetch($stmt)):

<button class="btn btn-success btn-xs" onclick="InitTime(<?php echo $row_id; ?>)">Send</button>

<input type="hidden" id="on" value="<?php echo $row_id; ?>">

endwhile; 

function InitTime(row_id, on) {
    var conf = confirm("Are you sure to execute <?php echo $row_id; ?>");
    var on = $("#on").val();
    if (conf == true) {
        $.post("ajax/initializeTime.php", {
                row_id: row_id,
                on:on
             }
        );
    }
}

但每次我点击按钮时,我都会从 DB 获取第一行 ID,但它假设是来自 DB 的不同 ID

在我的 initializeTime.php 中,我检索到相同的 ID

if(isset($_POST['row_id']) AND isset($_POST['on']) )
{
     //Here I retrieve the first ID from DB 
}

【问题讨论】:

  • 隐藏输入的目的是什么?您已经将 row_id 传递给您的函数
  • @billyonecan 我的 $on 行有不同的价值

标签: php jquery mysql arrays


【解决方案1】:

问题是你有多个 id on。 ID 应该是唯一的

你可以这样:

while(mysqli_stmt_fetch($stmt)):

<button class="btn btn-success btn-xs" onclick="InitTime(<?php echo $row_id; ?>)">Send</button>

<input type="hidden" id="on<?php echo $row_id; ?>" value="<?php echo $row_id; ?>">

endwhile; 

id 现在应该是 on1on2 等等......

在你的 js 上:

function InitTime(row_id) {
    var conf = confirm("Are you sure to execute " + row_id +"?");
    var on = $("#on" + row_id).val();
    if (conf == true) {
        $.post("ajax/initializeTime.php", {
                row_id: row_id,
                on:on
             }
        );
    }
}

【讨论】:

  • 然后如何在另一个脚本上检索特定ID?
  • IMO 最好的办法是使用 name 而不是 id 作为输入并创建一个 post 数组。
  • @Amanda,还有什么脚本?你的意思是,在php上?由于ajax代码相同,因此将相同。
  • @eisbehr 我试过像 但没有成功
  • @Eddie 我已经尝试过您的解决方案,但没有成功
猜你喜欢
  • 1970-01-01
  • 2021-06-12
  • 1970-01-01
  • 2014-01-04
  • 1970-01-01
  • 1970-01-01
  • 2018-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多