首頁 >web前端 >前端問答 >jquery做增刪改查

jquery做增刪改查

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2023-05-08 20:53:07995瀏覽

隨著Web應用的普及,對於客戶端的回應更加及時的要求越來越高,簡單的頁面互動已經無法滿足大眾的需求。這時,jQuery這個JavaScript函式庫就應運而生。在多數情況下,如果需要在頁面中進行資料的增刪改查等操作,jQuery是個非常便捷的選擇。下面我們就來討論如何使用jQuery實作增刪改查功能。

一、頁面準備工作

在HTML頁面上,需要先準備增刪改查所需的元素,如下所示:

<!DOCTYPE html>
<html>
<head>
    <title>jQuery增删改查</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="./css/styles.css">
    <script src="https://cdn.bootcss.com/jquery/3.5.1/jquery.min.js"></script>
    <script src="./js/jquery_method.js"></script>
</head>
<body>

    <h1>jQuery增删改查</h1>

    <form id="add_form">
        <label for="add_name">名称:</label>
        <input type="text" id="add_name" name="name" required><br>
        <label for="add_age">年龄:</label>
        <input type="number" id="add_age" name="age" required><br>
        <button type="submit" id="add_btn">添加</button>
    </form>

    <table id="table" border="1">
        <tr>
            <th>ID</th>
            <th>名称</th>
            <th>年龄</th>
            <th>操作</th>
        </tr>
    </table>

</body>
</html>

其中,包含了表單元素和資料表格,以及jQuery的引用和自訂的JavaScript檔案。

二、新增資料

使用jQuery新增資料時,需要在HTML頁面中定義表單並加上提交按鈕。並在JavaScript中(通常為jQuery_method.js)編寫事件監聽器,以取得表單的資料並將其新增至表格中。程式碼如下所示:

$(document).ready(function () {
    // 监听添加操作
    $('#add_btn').on('click', function (e) {
        e.preventDefault();     // 阻止表单默认提交行为
        const name = $('#add_name').val();
        const age = $('#add_age').val();
        addData(name, age);
    });
});

function addData(name, age) {
    // 构造表格行
    const tr = $('<tr>');
    tr.append(`<td id="id_${name}"></td>`)
        .append(`<td>${name}</td>`)
        .append(`<td>${age}</td>`);
    // 构造表格行中的操作列
    const td = $('<td>');
    const btn_update = $('<button>修改</button>');
    const btn_delete = $('<button>删除</button>');
    btn_update.on('click', function () {
        updateData(name);
    });
    btn_delete.on('click', function () {
        deleteData(name);
    });
    td.append(btn_update).append(btn_delete);
    tr.append(td);
    // 添加到表格中
    $('#table').append(tr);

    // 分配ID
    const id = $('#table tr').length;
    $(`#id_${name}`).html(id);
}

以上程式碼中,我們使用jQuery監聽表單的提交按鈕,取得表單中輸入的數據,並使用在最後一個td元素中新增了兩個button元素,一個用於修改數據,一個用於刪除數據。函數addData()用於將資料新增至表格中,並給每行資料指派一個ID。

三、查詢資料

查詢資料可以直接操作表格元素來實現。以查詢某個姓名為例:

function queryData(name) {
    const tr = $(`#table tr td:nth-child(2):contains(${name})`).parent();
    return tr;
}

以上程式碼中,我們使用jQuery的選擇器語法,選擇所有包含指定姓名的所有行數據,並透過.parent()方法傳回其所在的tr元素。

四、修改資料

要修改數據,首先需要查詢需要修改的數據,接著將其展示在一個模態框上(通常為一個表單),等待使用者輸入需要修改的值和提交修改的資料。在新增關閉模態框的事件監聽器後,根據使用者輸入的值,在表格中更新資料。程式碼如下所示:

function updateData(name) {
    const tr = queryData(name);
    const old_name = tr.find('td').eq(1).text();
    const old_age = tr.find('td').eq(2).text();
    const $form_update = $(`
            <form>
                <label for="update_name">名称:</label>
                <input type="text" id="update_name" name="update_name" value="${old_name}" required><br>
                <label for="update_age">年龄:</label>
                <input type="number" id="update_age" name="update_age" value="${old_age}" required><br>
                <button type="submit">修改</button>
                <button type="button" id="close_btn">关闭</button>
            </form>
        `);
    $('#table').after($form_update);

    $form_update.on('submit', function (e) {
        e.preventDefault();
        const new_name = $('#update_name').val();
        const new_age = $('#update_age').val();
        tr.find('td').eq(1).text(new_name);
        tr.find('td').eq(2).text(new_age);
        tr.attr('id', `id_${new_name}`);
        $form_update.remove();
    });
    $('#close_btn').on('click', function () {
        $form_update.remove();
    });
}

以上程式碼中,我們使用jQuery選擇器語法,選擇需要修改的數據,並給其一個ID。然後透過彈出模態框的方式,將需要修改的資料展示給用戶,讓用戶進行修改。修改完畢後,重新使用jQuery尋找該行,並更新表格中的資料。對於關閉按鈕的操作,也是透過關閉模態框的方式來實現。

五、刪除資料

對於刪除數據,還是需要透過模態框的方式,將需要刪除的資料展示給用戶,接著監聽刪除按鈕上的點擊事件,並在表格中刪除該行。程式碼如下所示:

function deleteData(name) {
    const tr = queryData(name);
    const $form_delete = $(`
            <form>
                <label>
                    您确定要删除名称为 <strong>${name}</strong> 的数据吗?
                </label>
                <button type="submit">确定</button>
                <button type="button" id="close_btn">取消</button>
            </form>
        `);
    $('#table').after($form_delete);

    $form_delete.on('submit', function (e) {
        e.preventDefault();
        tr.remove();
        $form_delete.remove();
    });
    $('#close_btn').on('click', function () {
        $form_delete.remove();
    });
}

以上程式碼中,我們使用jQuery的選擇器語法,選擇需要刪除的數據,並透過彈出模態框的方式將需要刪除的資料展示給使用者。在使用者點擊了確定後,將該行資料從表格中刪除。對於取消按鈕的操作,依然是關閉模態框。

六、總結

透過以上程式碼,我們可以發現,使用jQuery實作增刪改查非常容易。在頁面準備完成後,使用jQuery的選擇器語法即可選擇需要操作的DOM元素,並使用jQuery的事件監聽器來處理對應的事件。同時,jQuery的簡潔程式碼也帶來了很大的便利。在不需要涉及複雜邏輯的增刪改查功能上,使用jQuery是個非常不錯的選擇。

以上是jquery做增刪改查的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn