【问题标题】:Which button was clicked among a same class of buttons [duplicate]在同一类按钮中单击了哪个按钮[重复]
【发布时间】:2014-02-13 12:34:57
【问题描述】:

好的,我有一些这样的代码:

<?php
for($i = 0; $i < 20; $i++) {
    $idx = $i;
?>
<input class="edit-btn" type="button" name="edit" value="" onClick="editMe(this)"/>
<?php } ?>

我的问题是:在函数 editMe() 中(在 javascript 中)我如何确定单击了哪个按钮(根据 $idx 值)?实际上我不喜欢将 $idx 设置为按钮的 id,也不喜欢使用 $idx 作为它们的值。

更新:i -> $i,我想强调每个按钮都应该关联一个唯一的索引

【问题讨论】:

    标签: javascript php html


    【解决方案1】:

    将 idx 的值作为第二个参数传递给函数

    不确定 PHP 语法

    <?php
    for($i = 0; $i < 20; $i++) {
        $idx = $i;
    ?>
    <input class="edit-btn" type="button" name="edit" value="" onClick="editMe(this, <?php echo $idx; ?>)"/>
    <?php } ?>
    

    然后

    function editMe(el, idx){
    }
    

    【讨论】:

    • 当循环完成执行时,$idx 将保存 last 迭代的值,这意味着它将包含 19。如果 OP 需要创建多个按钮,则 &lt;input 块需要在循环中inside。此外,正如您在答案中所述,PHP 语法不正确。要使用 PHP 上下文中的变量,您需要将它们添加到 &lt;?php ... ?&gt; 块中。
    • @duong_dajgja 会是这样...因为我们使用它仅用于创建标记...您是否检查了生成的 html 并测试了功能
    • @ArunPJohny:好的,你是对的。我试过你的想法,效果很好。谢谢!我删除了同意 AmalMurali 的评论
    猜你喜欢
    • 2012-11-12
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    相关资源
    最近更新 更多