JS-Jquery实现动态的add和delete<input type="text">

动态添加与删除表格数据的JavaScript示例
本文提供了一个JavaScript实例,展示了如何使用jQuery动态地向表格中添加和删除数据,包括添加数据限制和删除操作处理。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>JS-demo01.html:JS动态的添加和删除</title>
 
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.3.2.js"></script>
 <script type="text/javascript">
  /*
   *@author Roin.li
   *@time 2012-02-15 12:16:00
   *@decription          <input type="text">实现动态的js"添加","删除"
   */
  function toFpcyAdd(){// 添加
   //var trSize = $("#fpcyTable").find("tr:gt(2)").size();
   var trSize = $("#fpcyTable").find("tr:gt(2)").length;
   if(trSize >= 5){
    alert("添加数据不能超过5条");
    return;
   }
   $("#fpcyTable").find("tr:eq(3)").clone(true).appendTo($("#fpcyTable")).find("input[type='text']").val("").end().find("td:eq(0)").text(trSize + 1).end().find("input:eq(0)").focus();
  }
  
  function toFpcyDelete(obj){// 删除
   debugger;
   var $objparents = $(obj).parents("tr:eq(0)"); // parents的祖先元素是?  是table吗? 不是,看错了,input后面还有个td呢,td之后是tr,所以tr是祖先元素
   var textvalue = $objparents.find("td:eq(0)").text();
   var trsize = $("#fpcyTable tr:gt(2)").size();
   if(trsize > 1){
    $objparents.nextAll("tr").each(function(index,item){
     $(item).find("td:eq(0)").text(textvalue - 0 + index);
    })
    $objparents.remove();
   }
   //alert(111);
   //var textValue = $(this).find("tr:eq(0)").text
   //alert(textValue);
  }
  
  
 </script>
  </head>
 
  <body>
     <table class="commandTable" cellspacing="0px" id="fpcyTable">
   <tr><td class="mb_tit_1" colspan="5"></td></tr>
   <tr><td class="tableCaption" colspan="5">查验条件列表</td></tr>
   <tr><td class="tableTitle" align="center">序号</td><td class="tableTitle">发票代码</td><td class="tableTitle">发票号码</td><td class="tableTitle">操作</td></tr>
   <tr>
    <td class="td_02">1</td>
    <td class="td_02"><input type="text" size="20" name="nfpdm"/></td>
    <td class="td_02"><input type="text" size="20" name="nfphm"/></td>
    <td class="td_02"><a href="javascript:void(0)"><input type="button" id="toFpcyDelete" value="删除" onclick="toFpcyDelete(this)"/><!-- <img title="删除" alt="删除" src="<c:out value="${pageContext.request.contextPath}"/>/images/table/docdelete.gif" border="0" onclick="javascript:gotoDelete(this);" /> --></a></td>
   </tr>
  </table>
  <table><tr><td><input type="button" id="toFpcyAdd" value="添加" onclick="toFpcyAdd()"/></td></tr></table>
  </body>
</html>

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> <!-- <link href="css/icons/font-awesome/font-awesome.css" rel="stylesheet" /> --> <link rel="stylesheet" href="layui/css/layui.css" media="all"> <link rel="stylesheet" href="layui/css/admin.css" media="all"> <link href="css/icons.css" rel="stylesheet" /> <link href="css/base.css" rel="stylesheet" /> <link href="css/intercom.css" rel="stylesheet" /> <title>对讲管理</title> </head> <body class="noselect" unselectable="on" oncontextmenu="return false"> <div class="layui-card"> <div class="layui-card-body"> <table class="layui-hide" id="endpointsTable" lay-filter="endpointsTable"></table> <div class="acc-new-div" style="display:none"></div> <div class="acc-edit-div" style="display:none"></div> <div class="acc-new-one-div" style="display:none"></div> </div> </div> </body> <script src="js/jquery.min.js"></script> <script src="layui/layui.all.js"></script> <script src="js/main.js"></script> <script type="text/html" id="acc-new-div-html"> <div class="layui-card-body"> <div class="layui-tab layui-tab-brief" lay-filter="ext-tab-brief"> <ul class="layui-tab-title"> <li class="layui-this"><span class="mdi mdi-playlist-play tab-title-icon"></span>分机信息</li> <li><span class="mdi mdi-playlist-music tab-title-icon"></span>基本功能</li> <li><span class="mdi mdi-playlist-music tab-title-icon"></span>语音编码</li> <li><span class="fa fa-upload tab-title-icon"></span>高级选项</li> </ul> <div class="layui-tab-content"> <div class="layui-tab-item layui-show"> <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">起始分机号</label> <div class="layui-input-inline"> <input id="start-extension-name" type="text" name="start-extension-name" lay-verify="required" autocomplete="off" class="layui-input extension-input" placeholder="" value="800"> </div> <label class="layui-form-label">添加数量</label> <div class="layui-input-inline"> <input id="extension-add-number" type="text" name="extension-number" lay-verify="required" autocomplete="off" oninput="inputNumber(this)" onafterpaste="inputNumber(this)" class="layui-input extension-num-input" placeholder="最大50个" maxlength = "2"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">分机密码</label> <div class="layui-input-inline"> <input id="extension-secret" type="text" name="extension-pass" lay-verify="required" autocomplete="off" class="layui-input extension-input" placeholder=""> </div> <label class="layui-form-label">随机密码</label> <div class="layui-input-inline"><input id="random-secret" type="checkbox" name="random-secret" lay-skin="switch" lay-filter="random-secret"></div> </div> <div class="layui-form-item"> <label class="layui-form-label">启用</label> <div class="layui-input-inline"><input id="ext-enable" type="checkbox" name="ext-enable" lay-skin="switch" lay-text=""></div> <label class="layui-form-label">拨号权限</label> <div class="layui-input-inline"> <select id="ext-diaplan" name="diaplan"> <option value="Diaplan1">Diaplan1</option> <option value="Diaplan2">Diaplan2</option> </select> </div> </div> </form> </div> <div class="layui-tab-item" id="v-acc-info"></div> <div class="layui-tab-item"> <form class="layui-form" action=""> <div class="layui-form-item"> <div id="audio-codec-transfer"></div> </div> </form> </div> <div class="layui-tab-item" id="v-acc-info-advanced"></div> </div> </div> </div> </script> <script type="text/html" id="acc-info-base"> <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">视频通话</label> <div class="layui-input-inline"><input id="ext-video" type="checkbox" name="ext-video" lay-skin="switch" lay-text=""></div> <label class="layui-form-label">视频编码</label> <div class="layui-input-inline"> <select id="ext-video-codec" name="video-codec"> <option value="h265">H.265</option> <option value="h264">H.264</option> <option value="h263">H.263</option> <option value="h261">H.261</option> <option value="vp9">VP9</option> <option value="vp8">VP8</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">通话监听</label> <div class="layui-input-inline"><input id="ext-monitor" type="checkbox" name="ext-monitor" lay-skin="switch" lay-text=""></div> <label class="layui-form-label">通话录音</label> <div class="layui-input-inline"> <select id="ext-call-record" name="call-record"> <option value="0">关闭</option> <option value="1">开启</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">同时注册数量</label> <div class="layui-input-inline"> <select id="ext-max-contacts" name="reg-max"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> </div> <label class="layui-form-label">注册超时</label> <div class="layui-input-inline"> <input id="ext-reg-timeout" type="text" name="ext-reg-timeout" lay-verify="required" autocomplete="off" class="layui-input" placeholder=""> </div> </div> </form> </script> <script type="text/html" id="acc-info-advanced"> <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">Web分机</label> <div class="layui-input-inline"><input id="ext-web" type="checkbox" name="ext-web" lay-skin="switch" lay-text=""></div> <label class="layui-form-label">传输协议</label> <div class="layui-input-inline"> <select id="ext-transport" name="transport"> <option value="udp">UDP</option> <option value="tls">TLS</option> <option value="wss">WSS</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">DTMF模式</label> <div class="layui-input-inline"> <select id="ext-dtmf" name="dtmf"> <option value="rfc4733">RFC 4733</option> <option value="auto">AUTO</option> <option value="info">INFO</option> <option value="inband">INBAND</option> </select> </div> <label class="layui-form-label">RTP超时</label> <div class="layui-input-inline"> <input id="ext-rtp-timeout" type="text" name="ext-rtp-timeout" lay-verify="required" autocomplete="off" class="layui-input" placeholder=""> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">在线检测间隔</label> <div class="layui-input-inline"> <input id="ext-onl-frequency" type="text" name="ext-onl-frequency" lay-verify="required" autocomplete="off" class="layui-input" placeholder=""> </div> <label class="layui-form-label">在线检测超时</label> <div class="layui-input-inline"> <input id="ext-onl-timeout" type="text" name="ext-onl-timeout" lay-verify="required" autocomplete="off" class="layui-input" placeholder=""> </div> </div> </form> </script> <script type="text/html" id="acc-edit-div-html"> <div class="layui-card-body"> <div class="layui-tab layui-tab-brief" lay-filter="ext-tab-brief"> <ul class="layui-tab-title"> <li class="layui-this"><span class="mdi mdi-playlist-play tab-title-icon"></span>分机信息</li> <li><span class="mdi mdi-playlist-music tab-title-icon"></span>基本功能</li> <li><span class="mdi mdi-playlist-music tab-title-icon"></span>语音编码</li> <li><span class="fa fa-upload tab-title-icon"></span>高级选项</li> </ul> <div class="layui-tab-content"> <div class="layui-tab-item layui-show"> <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">启用</label> <div class="layui-input-inline"><input id="ext-enable" type="checkbox" name="ext-enable" lay-skin="switch" lay-text=""></div> <label class="layui-form-label">名称</label> <div class="layui-input-inline"> <input id="ext-name" type="text" name="ext-name" lay-verify="required" autocomplete="off" class="layui-input" placeholder="" disabled="true"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">密码</label> <div class="layui-input-inline"> <input id="ext-pass" type="text" name="ext-pass" lay-verify="required" autocomplete="off" class="layui-input" placeholder=""> </div> <label class="layui-form-label">拨号权限</label> <div class="layui-input-inline"> <select id="ext-diaplan" name="diaplan"> <option value="Diaplan1">Diaplan1</option> <option value="Diaplan2">Diaplan2</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">邮箱</label> <div class="layui-input-inline"> <input id="ext-email" type="text" name="ext-email" lay-verify="required" autocomplete="off" class="layui-input" placeholder=""> </div> <label class="layui-form-label">语言</label> <div class="layui-input-inline"> <select id="ext-language" name="language"> <option value="en">English</option> <option value="ch">中文</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">外呼显示号码</label> <div class="layui-input-inline"> <input id="ext-out-number" type="text" name="ext-out-number" lay-verify="required" autocomplete="off" class="layui-input" placeholder=""> </div> <label class="layui-form-label">通话保持音乐</label> <div class="layui-input-inline"> <select id="ext-music-hold" name="musichold"> <option value="default">default</option> <option value="hold.mp3">hold.mp3</option> </select> </div> </div> </form> </div> <div class="layui-tab-item" id="v-acc-info"></div> <div class="layui-tab-item"> <form class="layui-form" action=""> <div class="layui-form-item"> <div id="audio-codec-transfer"></div> </div> </form> </div> <div class="layui-tab-item" id="v-acc-info-advanced"></div> </div> </div> </div> </script> <script type="text/html" id="toolbar"> <div class="tool-bar layui-card-body"> <button class="layui-btn layui-btn-lg" lay-event="refresh"><span class="mdi mdi-refresh mdi-icon"></span>刷新</button> <button class="layui-btn layui-btn-lg" lay-event="newsingleuser"><span class="mdi mdi-account-plus mdi-icon"></span>新建分机</button> <button class="layui-btn layui-btn-lg" lay-event="newuser"><span class="mdi mdi-account-plus mdi-icon"></span>批量新建分机</button> <button class="layui-btn layui-btn-lg layui-bg-red" lay-event="delete"><span class="mdi mdi-delete mdi-icon"></span>删除</button> </div> </script> <script type="text/html" id="optbar"> <a class="layui-btn layui-btn-xs" lay-event="edit"><span class="layui-icon layui-icon-edit bar-icon"></span>编辑</a> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><span class="layui-icon layui-icon-delete bar-icon"></span>删除</a> </script> <script src="js/intercom.js"></script>帮我把里里面的中文翻译成西班牙语
09-13
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>商品管理</title> <script src="./js/echarts.js"></script> <link rel="stylesheet" href="./css/public.css" /> <link rel="stylesheet" href="./css/goodschild.css" /> <link rel="stylesheet" href="./css/myPagination.css"> <script src="./js/jquery-3.7.1.min.js"></script> <script type="text/javascript" charset="utf-8" src="./ueditor/ueditor.config.js"></script> <script type="text/javascript" charset="utf-8" src="./ueditor/ueditor.all.min.js"> </script> <script type="text/javascript" charset="utf-8" src="./ueditor/lang/zh-cn/zh-cn.js"></script> </head> <body> <!-- 预览的幕布 --> <div id="imagePreview" class="preview_modal" onclick="previewCancel()"> <!-- 预览的图片 --> <img id="previewImage" src="" alt="Preview Image"> </div> <!-- 顶部下拉框 --> <div class="top_box" id="top_box"> <div class="top_left"> <input type="text" placeholder="请输入产品名称搜索" id="searchInput"> </div> <div class="top_right"> <button id="searchBtn">搜索</button> <button id="resetBtn">重置</button> </div> </div> <!-- 按钮区域 --> <div class="top_boxs"> <div class="top_button"> <button id="addition" class="icon-btns"> <img src="./img/返回.png" alt="图标描述" width="15" height="15"> <p>返回</p> </button> <button id="additionst" class="icon-btns"> <img src="./img/加号.png" alt="图标描述" width="20" height="20"> <p>新增</p> </button> <button id="expurgate" class="icon-btn" disabled> <p>全部</p> <span class="badge" id="badge_first"></span> </button> <button id="search" class="icon-btn" disabled> <p>待审核</p> <span class="badge" id="badge_second"></span> </button> <button id="searchsa" class="icon-btn" disabled> <p>回收站</p> <span class="badge" id="badge_seconds"></span> </button> <button id="additions" class="icon-btns"> <p>批量审核</p> </button> <button id="expurgates" class="icon-btn"> <img src="./img/删除.png" alt="图标描述" width="20" height="20"> <p>批量删除</p> </button> </div> <div class="screen" id="refreshs"> <div class="screen_box"> <img src="./img/搜索-灰色.png" alt="刷新" class="renovate" id="searchs" /> </div> <div class="screen_box"> <img src="./img/刷新.png" alt="刷新" class="renovate" id="refresh" /> </div> <div class="screen_box"> <div class="screen_img"> <img src="./img/设置-灰色.png" alt="刷新" class="renovate" id="install" /> </div> <div class="setting_box"> <p class="setting_title">显示设置</p> <div class="setting_items"> <label> <input type="checkbox" value="id" checked> ID </label> <label> <input type="checkbox" value="company" checked> 公司名称 </label> <label> <input type="checkbox" value="tradeid" checked> 产品名称 </label> <label> <input type="checkbox" value="img" checked> 商品图片 </label> <label> <input type="checkbox" value="name" checked>行业 </label> <label> <input type="checkbox" value="status" checked> 审核状态 </label> <label> <input type="checkbox" value="type" checked> 上架状态 </label> <label> <input type="checkbox" value="create_time" checked> 创建时间 </label> </div> </div> </div> </div> </div> <div class="base_box"> <div id="base_package"> <table class="table_table-bordered"> <thead> <tr> <th> <input type="checkbox" id="selectAll" name="check-all"> </th> <th>id</th> <th>公司名称</th> <th>产品名称</th> <th>商品图片</th> <th>行业</th> <th>审核状态</th> <th>上架状态</th> <th>创建时间</th> <th>操作</th> </tr> </thead> <tbody> </tbody> </table> </div> <!-- 底部分页 --> <div class="pagination_box"> <div id="pagination" class="pagination"></div> </div> </div> <!-- 新增弹窗 --> <div class="windows_box"> <div class="paddle_box"> <p class="title">添加/编辑</p> <div class="form-item"> <p>*产品名称</p> <input type="text" name="productName" id="productName" placeholder="请输入内容名称"> </div> <div class="form-item"> <p>*产品图片</p> <div class="img_pop"> <form id="myForm"> <label> <input type="file" name="file" id="file" style="display: none;" onchange="upload(true)" accept="image/*"> <img src="./img/10050.png" id="pic"> </label> </form> <p class="error" id="img_error">图片</p> </div> </div> <div class="form-item"> <p>*产品介绍</p> <div class="described"> <div class="texta" id="editor"></div> <p class="error" id="text_error">详情</p> </div> </div> <div id="parcel" class="parcel"> <div class="radio-group"> <p>*上下架</p> <input type="radio" name="shelf" value="on" checked> <span>上架</span> <input type="radio" name="shelf" value="off"> <span>不需要</span> </div> <!-- 操作按钮 --> <div class="hint_button"> <button class="hint_right" onclick="zxc()">确认</button> <button class="hint_left" onclick="asd()">确定并继续添加</button> </div> </div> </div> </div> <!-- 删除弹窗 --> <div class="delete-mask" id="deleteMask"> <div class="delete-dialog" id="deleteDialog"> <div class="dialog-content" id="dialogContent"> <h3>确定要删除选中的行业吗?</h3> </div> <div class="dialog-actions" id="dialogActions"> <button class="action-cancel" id="cancelBtn" onclick="cancelDelete()">取消</button> <button class="action-confirm" id="confirmBtn" onclick="confirmDelete()">确定</button> </div> </div> </div> <!-- 失败 --> <div id="error"> <div class="errorCenter"> <img id="errorImg" src="./img/error.png" alt="" /> <span class="errorText"></span> </div> </div> <!-- 成功 --> <div id="success"> <div class="successCenter"> <img id="successImg" src="./img/yes.png" alt="" /> <span class="successText"></span> </div> </div> <script src="./js/public.js"></script> <script src="./js/goodschild.js"></script> <!-- 分页插件 --> <script src="./js/myPagination.js"></script> <!-- 富文本编辑器容器 --> <div class="texta" id="editor"></div> <script> // 初始化 UEditor 富文本编辑器 var ue = UE.getEditor('editor', { initialContent: '<span style="color: #999">请输入内容...</span>', // 初始占位符文本 autoHeight: false, }); // 监听编辑器准备就绪事件,为聚焦、失焦绑定占位符处理逻辑 ue.ready(() => { // 聚焦时,若内容是初始占位符则清空 ue.addListener('focus', () => { if (ue.getContent() === '<p><span style="color: #999">请输入内容...</span></p>') { ue.setContent(''); } }); // 失焦时,若内容为空或仅含换行则恢复占位符 ue.addListener('blur', () => { if (ue.getContent() === '' || ue.getContent() === '<p><br></p>') { ue.setContent('<span style="color: #999">请输入内容...</span>'); } }); }); </script> </body>
08-13
<%@ page import="util.DbConnet" %> <%@ page import="java.sql.ResultSet" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% //获取用户输入的查询内容 String appliance_id = request.getParameter("appliance_id"); if(appliance_id==null) appliance_id=""; String appliance_type = request.getParameter("appliance_type"); if(appliance_type==null) appliance_type=""; String appliance_name = request.getParameter("appliance_name"); if(appliance_name==null) appliance_name=""; //1.数据总数 String sql = "select count(*) as total from `living_room_appliances` " + "where `appliance_id` like ? and `appliance_type` like ? and `appliance_name` like ?;"; Object[] params = new Object[]{ "%"+appliance_id+"%","%"+appliance_type+"%","%"+appliance_name+"%" }; ResultSet rs = DbConnet.select(sql, params); rs.next(); int total = rs.getInt("total"); //2.每页显示的行数 int pageSize = 5; //3.总页数 double result = (double)total/pageSize; //向上取整:只要数值带有有效的小数,舍去小数,整数位加一 int pageTotal = (int) Math.ceil(result); //4.当前页码 String pageNoStr = request.getParameter("pageNo"); pageNoStr = pageNoStr==null?"1":pageNoStr; int pageNo = Integer.parseInt(pageNoStr); //获取用户表中的数据,显示出来 sql = "select * from `living_room_appliances` " + "where `appliance_id` like ? and `appliance_type` like ? and `appliance_name` like ?" + "limit ?,?;"; int start = (pageNo - 1) * pageSize;//(当前页码-1)*每页显示的行数 params = new Object[]{ "%"+appliance_id+"%","%"+appliance_type+"%","%"+appliance_name+"%",start,pageSize }; rs = DbConnet.select(sql, params); %> <html> <head> <title>用户列表</title> <link rel="stylesheet" href="../css/common.css"> <link rel="stylesheet" href="../css/list.css"> </head> <body> <%--搜索区域 S--%> <div class="search"> <form> <label for="appliance_id">账号:</label> <input type="text" id="appliance_id" name="appliance_id" value="<%=appliance_id%>"> <label for="appliance_type">姓名:</label> <input type="text" id="appliance_type" name="appliance_type" value="<%=appliance_type%>"> <label for="appliance_name">姓名:</label> <input type="text" id="appliance_name" name="appliance_name" value="<%=appliance_name%>"> <button id="btnSearch" class="primary" type="button">查询</button> <button id="btnReset" type="button">重置</button> </form> </div> <%--搜索区域 E--%> <%--按钮区域 S--%> <div class="btn-box"> <button id="btnAdd" class="primary" type="button">新增</button> </div> <%--按钮区域 E--%> <%--表格区域 S--%> <div class="table-box"> <table> <tr> <th>编号</th> <th>账号</th> <th>姓名</th> <th>操作</th> </tr> <% while (rs.next()){ %> <tr> <td><%=rs.getString("appliance_id")%></td> <td><%=rs.getString("appliance_type")%></td> <td><%=rs.getString("appliance_name")%></td> <td> <button data-id="<%=rs.getString("id")%>" name="btnEdit" class="primary" type="button">编辑</button> <button data-id="<%=rs.getString("id")%>" name="btnDelete" class="danger" type="button">删除</button> </td> </tr> <% } %> </table> </div> <%--表格区域 E--%> <%--页码区域 S--%> <%--<div class="pager">--%> <%-- <ul>--%> <%-- <li>共<%=total%>条数据/每页<%=pageSize%>条</li>--%> <%-- <% if(pageNo>1){%>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=1">首页</a></li>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&appliance_name<%appliance_name%>&pageNo=<%=pageNo-1%>">上一页</a></li>--%> <%-- <% } %>--%> <%-- <%– <li class="active">1</li>–%>--%> <%-- <% for (int i=1;i<=pageTotal;i++){%>--%> <%-- <li class="<%=(pageNo==i?"active":"")%>" class="page">--%> <%-- <a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=i%>"><%=i%></a>--%> <%-- </li>--%> <%-- <% } %>--%> <%-- <% if(pageTotal>pageNo){%>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=pageNo+1%>">下一页</a></li>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=pageTotal%>">尾页</a></li>--%> <%-- <% } %>--%> <%-- </ul>--%> <%--</div>--%> <%--页码区域 E--%> <script src="../js/jquery-3.5.1.min.js"></script> <script src="../js/common.js"></script> <script> //绑定搜索按钮的点击事件 $('#btnSearch').on('click', function () { //获取搜索框中的内容:账号、姓名 let username = $('#username').val(); let realname = $('#realname').val(); window.location.href="list.jsp?username=" + username + "&realname=" + realname; }); //绑定重置按钮的点击事件 $('#btnReset').on('click', function () { window.location.href="list.jsp"; }); //绑定新增按钮的点击事件 $('#btnAdd').on('click', function () { window.location.href="add.jsp"; }); //绑定行内的编辑按钮点击事件 $('button[name=btnEdit]').on('click', function () { let id = $(this).attr('data-id');//从当前点击的按钮身上获取data-id的值 window.location.href = 'edit.jsp?id='+id; }); //绑定行内的删除按钮点击事件 $('button[name=btnDelete]').on('click', function () { if(confirm("确定要删除吗?")) { //获取删除按钮所在行的编号(id) let id = $(this).attr('data-id');//从当前点击的按钮身上获取data-id的值 //无刷新方式提交删除请求 postAction('/user/delete', {id: id}, function (res) { alert(res.msg); if (res.result) window.location.href = res.url; }); } }); </script> </body> </html> 请修改这些代码的错误
07-06
<!-- 前端页面完整代码 --> @{ Layout = null; } <!DOCTYPE html> <html> <head> <link href="~/Scripts/layui/css/layui.css" rel="stylesheet" /> <script src="~/Scripts/layui/layui.js"></script> <script src="~/Scripts/jquery-3.4.1.js"></script> <style> body { padding: 10px 20px 20px 20px; width: 90% } .but { margin-top: -5px } </style> </head> <body> <fieldset class="layui-elem-field"> <legend> <span class="layui-breadcrumb"> <a href="">首页</a> <a href="">职位管理</a> </span> </legend> <div class="layui-field-box"> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">职位名称</label> <div class="layui-input-block"> <input type="text" name="name" id="name" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label">职位代码</label> <div class="layui-input-inline"> <input type="text" name="code" id="code" autocomplete="off" class="layui-input"> </div> </div> <button type="button" class="layui-btn layui-btn-radius but" id="searchButton" onclick="Search()"><i class="layui-icon layui-icon-search"></i>查询</button> <button type="button" class="layui-btn layui-bg-blue but" onclick="AddJob()"><i class="layui-icon layui-icon-addition"></i>添加</button> </div> </div> </fieldset> <fieldset class="layui-elem-field"> <table class="layui-hide" id="test" lay-filter="test"></table> <script type="text/html" id="toolDemo"> <div class="layui-clear-space"> <a class="layui-btn layui-btn-xs" lay-event="edit" id="Edit"><i class="layui-icon layui-icon-edit"></i>编辑</a> <a class="layui-btn layui-btn-xs layui-bg-orange" lay-event="del" id="del"><i class="layui-icon layui-icon-clear"></i>删除</a> </div> </script> </fieldset> <script> var tableIns; layui.use(['table', 'layer', 'form'], function () { var table = layui.table; var layer = layui.layer; // 创建渲染实例 tableIns = table.render({ elem: '#test', url: '/JobManagem/GetList', page: true, cols: [[ { type: 'numbers', width: '15%', title: '序列号' }, { field: 'JobName', width: '20%', title: '职位名称' }, { field: 'JobCode', width: '20%', title: '职位代码' }, { field: 'ModifyDate', width: '20%', title: '修改时间', templet: function (d) { return formatDate(d.ModifyDate); } }, { title: '操作', width: '25%', templet: '#toolDemo' } ]], }); // 编辑删除事件 table.on('tool(test)', function (obj) { var data = obj.data; if (obj.event === 'edit') { EditJob(data); } else if (obj.event === 'del') { DeleteJob(data, obj); } }); }); function formatDate(dateStr) { if (!dateStr) return ''; // 提取时间戳(兼容 "/Date(123456789)/" 格式) var timestamp = parseInt(dateStr.replace(/\/Date$(\d+)$\//, '$ 1')); var date = new Date(timestamp); return date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + // 月份从0开始,需+1 ('0' + date.getDate()).slice(-2); } // 添加职位弹窗 function AddJob() { layer.open({ type: 1, title: '添加职位', content: ` <div style="padding:20px"> <div class="layui-form-item"> <label class="layui-form-label">职位名称</label> <div class="layui-input-block"> <input type="text" id="add_name" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">职位代码</label> <div class="layui-input-block"> <input type="text" id="add_code" class="layui-input"> </div> </div> </div> `, btn: ['保存', '取消'], yes: function (index) { $.post('/JobManagem/AddJob', { JobName: $('#add_name').val(), JobCode: $('#add_code').val() }, function (res) { if (res.code == 0) { layer.close(index); Search(); // 刷新列表 } else { layer.msg('操作失败:' + res.msg); } }); } }); } // 编辑职位弹窗 function EditJob(data) { layer.open({ type: 1, title: '编辑职位', content: ` <div style="padding:20px"> <div class="layui-form-item"> <label class="layui-form-label">职位名称</label> <div class="layui-input-block"> <input type="text" id="edit_name" value="${data.JobName}" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">职位代码</label> <div class="layui-input-block"> <input type="text" id="edit_code" value="${data.JobCode}" class="layui-input"> </div> </div> </div> `, btn: ['更新', '取消'], yes: function (index) { $.post('/JobManagem/UpdateJob', { ID: data.ID, JobName: $('#edit_name').val(), JobCode: $('#edit_code').val() }, function (res) { if (res.code == 0) { layer.close(index); Search(); } else { layer.msg('更新失败:' + res.msg); } }); } }); } // 删除职位 function DeleteJob(data, obj) { layer.confirm('真的删除行 [' + data.JobName + '] 么', function (index) { $.post('/JobManagem/DeleteJob', { ID: data.ID }, function (res) { if (res.code == 0) { obj.del(); layer.close(index); } else { layer.msg('删除失败:' + res.msg); } }); }); } // 查询重载 function Search() { var nameVal = $('input[name="name"]').val().trim(); var codeVal = $('input[name="code"]').val().trim(); tableIns.reload({ where: { name: nameVal, code: codeVal }, page: { curr: 1 } // 重置分页 }); } </script> </body> </html> 用更简单的代码进行优化
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值