• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Ajax实现动态显示并操作表信息的方法

    在jsp连接数据库访问并显示数据库信息时,使用Ajax利用json对象会在页面不刷新的情况下获取到数据。但若是要显示数据库表中的信息,就需要动态的生成表的行以及单元格。并且对每一行的操作也是需要动态绑定的。

    今天分享给各位的是完成在对数据库表信息的显示、增加、删除、修改。显示时通过用HTML代码来控制table行的增加。修改和删除是通过button的onclick()事件完成的。onclick()的参数也是动态改变的,这样的话在操作时就可以知道是要对哪一行进行操作了。修改的方法中又用到修改HTML代码使普通td>变为input>并获取到原始值作为输入框的默认值,在输入框失去焦点后自动保存数据。并再把input>变为td>

    代码很详细,希望能对你有所帮助。

    js文件内容如下:

    $(function () {
      $.ajaxSetup({
        async:false
      });
        var url = "/Task/Fenlei";    //servlet的url
        data = {};
        data.flag = "all";
      $.post(url,data,function (result) {
        for(var i=0;iresult.getAll.length;i++){
          var id = result.getAll[i].fenlei_Id;
          var name = result.getAll[i].fenlei_Name;
          var newrow = "tr id='tr"+id+"'>td>"+result.getAll[i].fenlei_Id+"/td>td id='td"+id+"'>"+result.getAll[i].fenlei_Name+
            "/td>td>button onclick='del("+id+")''>删除/button>button onclick='edit("+id+")'>修改/button>/td>/tr>"
          $("#AllInfo tr:last").after(newrow);
        }
      },"json");
        $("#add").click(function () {
          addData={};
          var name = $("#name").val();
          addData.name = name;
          addData.flag = "add";
          $.post(url,addData,function (result) {
            var id = result.aFenlei.fenlei_Id;
            var name = result.aFenlei.fenlei_Name;
              var newrow = "tr id='tr"+id+"'>td>"+result.aFenlei.fenlei_Id+"/td>td id='td"+id+"'>"+result.aFenlei.fenlei_Name+
                "/td>td>button onclick='del("+id+")'>删除/button>button onclick='edit("+id+")'>修改/button>/td>/tr>"
              $("#AllInfo tr:last").after(newrow);
            
     
          },"json");
        });
    });
    function del(id) {
      console.log(id);
      var url = "/Task/Fenlei";
      delData = {};
      delData.flag = "delete";
      delData.id = id;
      $.post(url,delData,function (result) {
         if(result) {
           alert("删除成功");
           $("#tr"+id).remove();
         } else {
           alert("删除失败");
         }
      },"json");
    };
    function edit(id) {
      var url = "/Task/Fenlei";
      editData = {};
      editData.flag = "update";
      var oldname = $("#td"+id).text();
      $("#td"+id).html("input type='text'class='Input' id='new' name='FenleiName' value='"+oldname+"'/>");
      $("#new").blur(function () {
        var newname = $(".Input").val();
        editData.newname = newname;
        console.log(newname);
        $("#td"+id).html("td id='td"+id+"'>"+newname+"/td>");
        $.post(url,editData,function(result){
          if(result) {
            alert("修改成功");
          } else {
            alert("修改失败");
          }
        },"json");
      });
    }
    

    jsp页面代码如下:

    %@include file="../inc/top.jsp"%>
    script src="Fenlei.js">/script>
    div class="Classify">
      h3 align="center">项目管理信息表/h3>
      div class="divBack">
        img src="#" />
      /div>
      div class="divAdd">
      分类名称:input type="text" id="name"/>
      button type="button" class="btn-primary" id="add">添加/button>
       /div>
      table class="table"id="AllInfo">
        tr>
          th>分类Id/th>
          th>分类名称/th>
          th>操作/th>
        /tr>
      /table>
    /div>
    %@include file="../inc/bottom.jsp"%>
    

    处理的servlet内容如下:

    public class FenleiServlet extends HttpServlet {
      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          doGet(request,response);
      }
      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        String name = request.getParameter("name");     //项目分类名称
        String flag = request.getParameter("flag");
        String id = request.getParameter("id");       //项目分类Id
        FenleiService cs = new FenleiService();
        JSONObject json = new JSONObject();
        if("all".equals(flag)) {
          ListFenleiBean> list = cs.getAll();      //获取所有的项目分类信息
          json.put("getAll",list);
          response.getWriter().print(json.toJSONString());
        }
        if("add".equals(flag)) {      //增加操作。
          FenleiBean cb = cs.add(name);
          json.put("aFenlei",cb);
          response.getWriter().print(json.toJSONString());
        }
        if("delete".equals(flag)) {     //删除操作
           boolean result = cs.delete(id);
          System.out.println(flag);
          System.out.println(result);
          if(result){
            json.put("result",result);
            json.put("msg","删除成功");
            response.getWriter().print(json.toJSONString());
            System.out.println(json.toJSONString());
          } else {
            json.put("result",result);
            json.put("msg","删除失败");
            response.getWriter().print(json.toJSONString());
          }
        }
        if("update".equals(flag)) {    //更新信息
          System.out.println(flag);
          String newname = request.getParameter("newname");
          System.out.println("---------------update newname"+newname);
          boolean result = cs.update(newname);
          if(result){
            json.put("result",result);
            json.put("msg","修改成功");
            response.getWriter().print(json.toJSONString());
            System.out.println(json.toJSONString());
          } else {
            json.put("result",result);
            json.put("msg","修改失败");
            response.getWriter().print(json.toJSONString());
          }
        }
      }
    }
    
    /pre>pre name="code" class="javascript">
    

    以上这篇Ajax实现动态显示并操作表信息的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • Ajax实现动态加载数据
    • JQuery Ajax动态加载Table数据的实例讲解
    • Ajax获取数据然后显示在页面的实现方法
    上一篇:快速解决ajax返回值给外部函数的问题
    下一篇:ajax实现从后台拿数据显示在HTML前端的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Ajax实现动态显示并操作表信息的方法 Ajax,实现,动态,显示,并,