jQuery实现增删改查(功能具体实现)

文章目录

    • 网页显示
    • 代码实现
    • 常见问题

网页显示

整体样式

 添加

添加一个王五,薪为5000

点击添加按钮 ,即可吧数据添加到table

 删除

点击功能区的删除a标签

提示信息,点击确认删除成功

 查询

这个查询是一个依据indexof的模糊查询

输入字符点击搜索,即可匹配显示,没有东西时点击搜索,可以查询全部

 修改

点击修改按钮,将tr的内容转化为input标签里面的内容

这里吧9000改为1000

同时修改按钮消失,保存按钮显示

 保存

点击保存按钮,保存更改的信息,同时保存按钮消失,修改按钮显示

基本功能如上;

代码实现

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        table,
        th,
        tr {
            border-collapse: collapse;
            border-spacing: 0;
        }

        table {
            width: 50%;
        }

        td,
        th {
            border: 1px solid #bcbcbc;
            width: 150px;
            padding: 5px;
        }

        th {
            background: white;
            text-align: center;

        }

        tr:nth-of-type(odd) {
            /* odd是 */
            background: #aaffff;
        }

        tr:nth-of-type(even) {
            background: #aaff7f;
        }
    </style>
    <script src="./js/jquery-3.7.1.js"></script>
    <script>
        $(function () {
            //删除
            $("table").on('click','.delete_btn',function () {
                //判断
                if (confirm("是否确定删除?")) {
                    $(this).parent().parent().remove();
                }
            });
            //查询
            $("#select").click(function () {
                //先获取input的内容
                var input = $(this).prev().val();
                //然后将table中tr下标大于0的遍历
                $("table tr:gt(0)").each(function () {
                    //find()获得当前元素集合中每个元素的后代
                    //获得第二列td的名字集合
                    var name = $(this).find("td:eq(1)").html();
                    alert(name);
                    //判断td下标等于1的数据里是否包含输入框的内容
                    if (name.indexOf(input) == -1) {
                        $(this).hide();
                    } else {
                        $(this).show();
                    }
                });
            });
            //增加
            $("#insert").on("click",function () {
                //先得到id
                var id = parseInt($("table tr:last td:first").html());
                id += 1;
                //得到name和age
                //prev()获得匹配元素集合中每个元素紧邻的前一个同胞元素,通过选择器进行筛选是可选的。
                var name = $(this).prev().prev().val();
                var age = $(this).prev().val();
                if (name != "" && age != "") {
                    var trs = "<tr><td>" + id + "</td><td>" + name + "</td><td>" + age + "</td><td><a href='#' style='display: none;' class='save_btn'>保存</a><a href='#' class='update_btn'>修改</a>&nbsp;&nbsp;&nbsp;<a href='#' class='delete_btn'>删除</a></td></tr>";
                    $("table").append(trs);
                    var name = $(this).prev().prev().val("");
                    var age = $(this).prev().val("");
                } else {
                    confirm("请补全信息");
                }
            });
            //修改
            $("table").on('click','.update_btn',function () {
                //现将按钮切换
                $(this).hide();
                $(this).prev().show();
                // 找到下标小于3的td
                var tds = $(this).parent().parent().find("td:lt(3)");
                //将下标小于3的td遍历
                $(tds).each(function () {
                    //设置为输入框
                    var input = "<input type='text' value = '" + $(this).html() + "'>"
                    $(this).html(input);
                });

            });
            //保存
            $("table").on('click','.save_btn',function () {
                //得到input框
                var tds = $(this).parent().parent().find("td:lt(3) input");
                var flag = true;
                //遍历
                $(tds).each(function () {
                    if ($(this).val() == "") {
                        flag = false;
                    }
                });
                if (!flag) {
                    confirm("请补全内容");
                    return;
                }
                //如果flag为true
                $(tds).each(function () {
                    $(this).parent().html($(this).val());
                })
                $(this).hide();
                $(this).next().show();
                //前面的同辈prve//后面的同辈next
            });
        });

    </script>
</head>

<body>
    <p>
        <input type="text">
        <a href="#" id="select">查询</a>
    </p>
    <table border="1" id="table">
        <tr>
            <th>ID</th>
            <th>姓名</th>
            <th>薪水</th>
            <th>功能</th>
        </tr>
        <tr>
            <td>1</td>
            <td>张三</td>
            <td>8000</td>
            <td>
                <a href="#" class="save_btn" style="display: none;">保存</a>
                <a href="#" class="update_btn">修改</a>
                &nbsp;&nbsp;&nbsp;<a href="#" class="delete_btn">删除</a>
            </td>
        </tr>
        <tr>
            <td>2</td>
            <td>李世</td>
            <td>9000</td>
            <td>
                <a href="#" class="save_btn" style="display: none;">保存</a>
                <a href="#" class="update_btn">修改</a>&nbsp;&nbsp;&nbsp;
                <a href="#" class="delete_btn">删除</a>
            </td>
        </tr>
    </table>
    <input type="text">
    <input type="text">
    <input type="button" value="添加" id="insert">
</body>

</html>

常见问题

一、jquery插件

使用 jQuery,您需要下载 jQuery 库,然后把它包含在希望使用的网页中。

jQuery 库:jQuery数据库,点击下载,不知道下载第几个的下载第一个即可,下载时,右键需要的jQuery,将他另存为到桌面,然后引用到文件中调用

jQuery 库是一个 JavaScript 文件,您可以使用 HTML 的 <script> 标签引用它:

<head>
//在相同目录下时
<script src="jquery.js"></script>
</head>

二、添加的数据不能修改删除

对于新添加的数据,我们对他的方法添加有两种方法

1.复制一行,同时复制上一行的方法属性

2.使用$("父级").on("click","方法名",function(){});

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Ajax实现SSM整合增删改查可以按照以下步骤进行操作: 1. 在前端页面中引入jQuery库,确保能够使用jQuery的Ajax方法。 2. 创建前端页面,包括相应的表单和按钮,用于用户输入数据和触发相应的操作。 3. 在后端创建相应的Controller类,用于处理前端请求,并调用后端的Service层进行数据操作。 4. 在Controller类中定义相应的方法,用于处理前端请求,并返回相应的结果。 5. 在Service层中定义相应的接口和实现类,用于处理后端数据操作。 6. 在Mapper层中定义相应的SQL语句,用于操作数据库。 7. 在前端页面中编写相应的JavaScript代码,使用Ajax方法向后端发送请求,并处理返回的结果。 下面是一个简单的示例代码: 在前端页面中的JavaScript代码: ```javascript // 添加数据 function addData() { var data = { name: $("#name").val(), age: $("#age").val(), // 其他字段... }; $.ajax({ type: "POST", url: "/addData", data: JSON.stringify(data), contentType: "application/json", success: function(result) { // 处理成功返回的结果 }, error: function(error) { // 处理错误信息 } }); } // 删除数据 function deleteData(id) { $.ajax({ type: "POST", url: "/deleteData", data: {id: id}, success: function(result) { // 处理成功返回的结果 }, error: function(error) { // 处理错误信息 } }); } // 修改数据 function updateData(id) { var data = { id: id, name: $("#name").val(), age: $("#age").val(), // 其他字段... }; $.ajax({ type: "POST", url: "/updateData", data: JSON.stringify(data), contentType: "application/json", success: function(result) { // 处理成功返回的结果 }, error: function(error) { // 处理错误信息 } }); } // 查询数据 function queryData(id) { $.ajax({ type: "GET", url: "/queryData", data: {id: id}, success: function(result) { // 处理成功返回的结果 }, error: function(error) { // 处理错误信息 } }); } ``` 在后端Controller类中的方法: ```java @Controller public class DataController { @Autowired private DataService dataService; @RequestMapping(value = "/addData", method = RequestMethod.POST) @ResponseBody public String addData(@RequestBody Data data) { // 处理添加数据的逻辑 dataService.addData(data); return "success"; } @RequestMapping(value = "/deleteData", method = RequestMethod.POST) @ResponseBody public String deleteData(@RequestParam("id") Integer id) { // 处理删除数据的逻辑 dataService.deleteData(id); return "success"; } @RequestMapping(value = "/updateData", method = RequestMethod.POST) @ResponseBody public String updateData(@RequestBody Data data) { // 处理修改数据的逻辑 dataService.updateData(data); return "success"; } @RequestMapping(value = "/queryData", method = RequestMethod.GET) @ResponseBody public Data queryData(@RequestParam("id") Integer id) { // 处理查询数据的逻辑 return dataService.queryData(id); } } ``` 这样就可以通过Ajax实现SSM整合增删改查了。根据实际需求,可以在前端页面中调用相应的函数,实现相应的功能。在后端Controller类中处理前端请求,并调用Service层进行数据操作,在Service层中处理具体的业务逻辑,并调用Mapper层进行数据库操作。最后,通过Ajax方法向后端发送请求,并处理返回的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荣在心中度

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值