获取表记录的id

时间:2015-12-25 11:30:18

标签: jquery

<?php foreach ($courses $course):?>
    <tr>

        <td><?php echo $course->bname;?></td>
        <td><?php echo $course->description;?></td>
        <td><div class="btn-group">
                  <button type="button" class="btn btn-info">Action</button>
                  <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown">
                      <span class="caret"></span>
                    <span class="sr-only">Toggle Dropdown</span>
                  </button>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="<?php echo site_url('Course/editCourse') . '/' . $course -> id; ?>">Edit</a></li>
                    <li><a class='deleteUser' href="<?php echo site_url('Course/deleteCourse') . '/' . $course -> id; ?>">Delete</a></li>

                  </ul>
                </div>
        </td>
   </tr>
<?php endforeach;?>

我正在尝试使用jquery ajax调用从数据库中删除记录。 我无法将所点击记录的相关ID传递给Jquery。 有人可以解释如何或任何其他替代方案。提前谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用以下

$("a").click(function(e){
    e.preventDefault();
    var bname = $(this).parent().parent().parent().find("td:eq(0)").text();
    //YOUR AJAX CODE AND PASS bname TO IT
});

答案 1 :(得分:0)

你好请检查你的循环,因为你在循环中缺少一个参数我正在制作一些元素,因为你可以将其转换为你的MVC

<?php foreach ($courses as $course):?>
<tr>
    <td><?php echo $course->bname;?></td>
    <td><?php echo $course->description;?></td>
    <td><div class="btn-group">
        <li><a href="#" onclick='delete(<?php echo $course->id; ?>)'>Delete</a></li>
  </td>
  </tr>
<?php endforeach;?>

现在,在您的标题中,您将运行以下代码以进行此运行,并且您将在单独的文件中运行查询

function delete(userid) {
    var hr = new XMLHttpRequest();

    var url = "includes/delete.php";
    var vars= "id="+userid;

    hr.open("POST", url, true);

    hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    hr.onreadystatechange = function () {
        if (hr.readyState == 4 & hr.status == 200) {
            var return_data = hr.responseText;
            document.getElementById("status").innerHTML = return_data;
        }
    }

    hr.send(vars);
    document.getElementById("status").innerHTML = "Processing...";
}

希望这会帮助你