PHP和jQuery删除动态列表项

时间:2014-07-24 08:22:57

标签: php jquery

我希望有人能够解释为什么我遇到这个问题。我创建了一个使用PHP类从MySQL数据库生成的基本列表。然后我尝试使用一些基本的jQuery来删除列表项。我无法让它工作很长一段时间,最终发现如果我将jQuery include移动到HTML文件的末尾它可以工作但不包含在脚本的顶部,就像我通常的目标一样。我原以为jQuery文档就绪函数应该已经解决了这个问题,但这不是出于某种原因。

这是jQuery(非常基本的说法):

$(document).ready(function(){
    $(".completeButton").click(function(){
        $(this).closest('li').remove();
    });
});

这是HTML页面主体(注意我的jQuery包含在末尾而不是在标题中它不起作用并删除该项目,但它在这里工作正常吗?):

<?php
session_start();
if(isset($_SESSION['user'])) {
    include "header.php";
?>
<h2>Task List</h2>
<?php
    include_once "DatabaseConn.php";
    include_once "taskList.class.php";

    $sql = "SELECT `GV_Employee`.`requests`.`req_ID` , `GV_Employee`.`equipment`.`description` , `GV_Employee`.`employees`.`first_name`, `GV_Employee`.`employees`.`last_name` 
        FROM requests
        RIGHT JOIN equipment
        ON requests.eq_ID=equipment.eq_ID
        RIGHT JOIN employees
        ON requests.emp_ID=employees.emp_ID
        ORDER BY requests.req_ID;";

    $stmt = $db->prepare($sql);
    $stmt->execute();
    $results = $stmt->fetchALL();

    foreach ($results as $row){
        $task[] = new tasklist($row);
    }
    foreach($task as $item){
        echo $item;
    }
?>
<script src="tasklist.js"></script>
<?php
}else {
    session_destroy();
    header("Location: http://dunc2/dylanr/Starters&Leavers/index.php");
    //header("Location: http://192.168.0.4/Starters&Leavers/index.php");
    exit;
}
?>

以下是动态列表的类:

<?php 

class taskList {
    private $taskData;

    public function __construct($task){
        if(is_array($task))
            $this->taskData = $task;
    }

    public function __toString(){
        return '<li id="task-'.$this->taskData['req_ID'].'" class="taskList">
                <div class="text">'.$this->taskData['first_name'].' '.$this->taskData['last_name'].
                    ' requires: '.$this->taskData['description'].'</div>
                    <div id="button">
                        <a href="#" class="completeButton" onclick="completeButton();">Complete</a>
                        <a href="#" class="taskButton">Priority</a>
                    </div>
            </li>';
    }
}

?>

我希望这个问题有道理,我试着在论坛上搜索,但如果有的话就找不到涵盖这种情况的话题。

非常感谢 詹姆斯

0 个答案:

没有答案