1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 2 <html> 3 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <title>添加删除记录练习</title> 7 <link rel="stylesheet" type="text/css" href="css.css"/> 8 </head> 9 <body> 10 11 <table id="employeeTable"> 12 <tr> 13 <th>Name</th> 14 <th>Email</th> 15 <th>Salary</th> 16 <th> </th> 17 </tr> 18 <tr> 19 <td>Tom</td> 20 <td>tom@tom.com</td> 21 <td>5000</td> 22 <td><a href="deleteEmp?id=001">Delete</a></td> 23 </tr> 24 <tr> 25 <td>Jerry</td> 26 <td>jerry@sohu.com</td> 27 <td>8000</td> 28 <td><a href="deleteEmp?id=002">Delete</a></td> 29 </tr> 30 <tr> 31 <td>Bob</td> 32 <td>bob@tom.com</td> 33 <td>10000</td> 34 <td><a href="deleteEmp?id=003">Delete</a></td> 35 </tr> 36 37 </table> 38 39 <div id="formDiv"> 40 41 <h4>添加新员工</h4> 42 43 <table> 44 <tr> 45 <td class="word">name:</td> 46 <td class="inp"> 47 <input type="text" name="empName" id="empName"/> 48 </td> 49 </tr> 50 <tr> 51 <td class="word">email:</td> 52 <td class="inp"> 53 <input type="text" name="email" id="email"/> 54 </td> 55 </tr> 56 <tr> 57 <td class="word">salary:</td> 58 <td class="inp"> 59 <input type="text" name="salary" id="salary"/> 60 </td> 61 </tr> 62 <tr> 63 <td colspan="2" align="center"> 64 <button id="addEmpButton" value="abc"> 65 Submit 66 </button> 67 </td> 68 </tr> 69 </table> 70 </div> 71 72 <script src="js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script> 73 <script type="text/javascript"> 74 /* 75 功能说明: 76 1. 点击'Submit', 根据输入的信息在表单中生成一行员工信息 77 2. 点击Delete链接, 提示删除当前行信息, 点击确定后删除信息 78 技术要点: 79 1. DOM查询 80 2. 绑定事件监听 81 3. DOM增删改 82 4. 取消事件的默认行为 83 */ 84 $(function () { 85 // 获取三个输入框 86 var $empName = $('#empName'); 87 var $email = $('#email'); 88 var $salary = $('#salary'); 89 // 给提交按钮绑定单击事件 获取三个输入框的value 拼装节点 90 $('#addEmpButton').click(function () { 91 // 不带$的 是输入框的值 带$的 是元素 这个意义 是你自己人为赋予的 92 var empName = $empName.val(); 93 var email = $email.val(); 94 var salary = $salary.val(); 95 // 任意一个输入框为空 都不能进入这个if里边 96 if($.trim(empName) && $.trim(email) && $.trim(salary) ){ //输入框有数据 97 // 拼装节点 98 // <tr> 99 // <td>Bob</td> 100 // <td>bob@tom.com</td> 101 // <td>10000</td> 102 // <td><a href="deleteEmp?id=003">Delete</a></td> 103 // </tr> 104 105 //新增的tr,添加到#employeeTable tbody 106 $('<tr></tr>') 107 .append('<td>'+empName+'</td>') 108 .append('<td>'+email+'</td>') 109 .append('<td>'+salary+'</td>') 110 .append('<td><a href="deleteEmp?id=003">Delete</a></td>') 111 .appendTo('#employeeTable tbody') 112 113 }else { 114 // 请不要提交空信息 115 alert('请不要输入空信息') 116 } 117 // 清空三个输入框 118 $empName.val(''); 119 $email.val(''); 120 $salary.val(''); 121 }); 122 123 124 125 // 删除按钮 126 //事件委派方式delegate函数,this 为事件源,新增的li也会有效果 127 $('#employeeTable').delegate('a','click', function(event){ 128 // 阻止默认行为 129 event.preventDefault(); 130 // 根据当前点击的a标签 找到它所对应的tr 131 var $tr = $(this).parent().parent(); 132 // 获取当前这个tr中的name 133 var name = $tr.children(':first').html(); 134 // 提示是否要删除这个name对应的信息 确定就删除 取消就不操作 135 // confirm 确认框 有两个按钮 确认和取消 括号里边写提示信息 136 // 如果点击确认 则返回true 点击取消 则返回false 137 // 所以常和if 配合使用 把confirm 写在 if的判断条件中 如果点击确认即可执行if里边的逻辑 138 if(confirm('你确定要删除'+name+'的信息么?')){ 139 $tr.remove(); 140 } 141 142 // return false; 143 } 144 ); 145 146 }) 147 </script> 148 </body> 149 </html>