如何使用jquery和codeigniter在foreach中获取按钮值?

时间:2019-01-23 08:21:44

标签: javascript jquery codeigniter foreach

在我看来,我有一个foreach循环,如下所示

<?php foreach($wishes as $wish) { ?>
    <input id="delete" type="button" value="<?= $wish->id ?>">
<?php } ?>

每个按钮的按钮值会有所不同

如果我使用下面的方法,则只需要单击第一个按钮,而其他按钮则不起作用

我做错了什么

$(document).ready(function() {

    $("#delete").click(function(event) {
        event.preventDefault();

        var id = $("#delete").val();

        console.log('delete');
        console.log(id);

    });

});

3 个答案:

答案 0 :(得分:1)

使用类而不是ID。因为ID必须是唯一的。由于您的ID值是动态的,因此您可以使用按钮的类来监听按钮的点击事件。

<?php foreach($wishes as $wish) { ?>
   <input class="delete" type="button" value="<?= $wish->id ?>">
<?php } ?>

$(document).ready(function() {

  $(".delete").click(function(event) {
      event.preventDefault();

      var id = $(this).val();
      console.log(id);

  });

});

答案 1 :(得分:0)

<?php foreach($wishes as $wish) { ?>
   <input class="delete" type="button" value="<?= $wish->id ?>">
<?php } ?>

方法1

将类而不是ID用于点击事件

$(document).ready(function() {

  $(".delete").click(function() {

      var IdValue = $(this).val();
      alert(IdValue);

  });

});

方法2

点击按钮onclick="function_name()"即可调用该函数,并将id作为参数传递

<?php foreach($wishes as $wish) { ?>
   <input class="delete" type="button" value="<?= $wish->id ?>" onclick="GetId(<?= $wish->id ?>)" >
<?php } ?>

function GetId(IdValue){
    alert(IdValue)
}

答案 2 :(得分:-1)

添加到事件的代码类中

<?php foreach($wishes as $wish) { ?>
    <input id="<?= $wish->id ?>" class="action" type="button" >
<?php } ?>

$wish->id-> id必须是uniq,并且服务器必须提供

$(document).ready(function() {

    $(".action").click(function(event) {
        event.preventDefault();

        var id = event.target.id;

        console.log('delete');
        console.log(id);

    });

});