点击表格实现文本输入效果
来源:互联网 发布:张学良戒毒的故事知乎 编辑:程序博客网 时间:2024/05/22 03:23
前言
如今使用表格显示数据,已经成为趋势,如何在表格上直接进行操作,点击表格实现输入文本的效果呢,咱们一起来看一下吧。
叙述
通过图片来看一下,具体的页面效果吧。
首先看一下数据是如何显示到页面上的呢?
<div id="camanager" class="round2"> <h3>类别管理</h3> <div class="con"> <div class="fontcolor">提示:点击类别名称后可直接修改,回车或鼠标点击页面其他地方后修改完成</div> <table class="m_table"> <tr> <th class="xuhao">序号</th> <th>类别名称</th> <th class="del">删除</th> </tr> <asp:Repeater ID="repCategory" runat="server"> <Itemtemplate> <%--<tr>--%> <td> <%# Eval("id") %> </td> <td class="caname"> <%# Eval("name") %> </td> <td> <asp:LinkButton ID="lbtnDelca" runat="server" CommandArgument =' <%# Eval("id") %>' OnClientClick="return confirm('删除类别会使其下新闻及评论全部删除,是否真的要删除?')" OnClick="lbtnDelca_Click" >删除</asp:LinkButton> </td> </tr> </Itemtemplate> </asp:Repeater> </table> <div id="test"></div> </div> <div class="footer"> <p> </p> </div> </div>
后台代码: protected void Page_Load(object sender, EventArgs e) { //判断session里面是否存在管理员 if (Session["admin"] != null && Session["admin"].ToString() == "zmh") { //已登陆 if (!Page.IsPostBack ) { //当页面第一次加载时候,绑定类别列表 DataTable dt = new CategoryManager().SelectAll(); repCategory.DataSource = dt; repCategory.DataBind(); } } else { //未登陆 Response.Redirect("login.aspx"); } }
点击类别名称后可直接修改,回车或鼠标点击页面其他地方后修改完成具体的ts事件
$(function () { // 相当于在页面中的body标签加上onload事件 $(".caname").click(function () { // 给页面中有caname类的标签加上click函数 var objTD = $(this); var oldText = $.trim(objTD.text()); // 保存老的类别名称 var input = $("<input type='text' value='" + oldText + "' />"); // 文本框的HTML代码 objTD.html(input); // 当前td的内容变为文本框 // 设置文本框的点击事件失效 input.click(function () { return false; }); // 设置文本框的样式 input.css("border-width", "0px"); //边框为0 input.height(objTD.height()); //文本框的高度为当前td单元格的高度 input.width(objTD.width()); // 宽度为当前td单元格的宽度 input.css("font-size", "14px"); // 文本框的内容文字大小为14px input.css("text-align", "center"); // 文本居中 input.trigger("focus").trigger("select"); // 全选 // 文本框失去焦点时重新变为文本 input.blur(function () { var newText = $(this).val(); // 修改后的名称 var input_blur = $(this); // 当老的类别名称与修改后的名称不同的时候才进行数据的提交操作 if (oldText != newText) { // 获取该类别名所对应的ID(序号) var caid = $.trim(objTD.prev().text()); // AJAX异步更改数据库 var url = "../handler/ChangeCaName.ashx?caname=" + encodeURI(encodeURI(newText)) + "&caid=" + caid + "&t=" + new Date().getTime(); $.get(url, function (data) { if (data == "false") { $("#test").text("类别修改失败,请检查是否类别名称重复!"); input_blur.trigger("focus").trigger("select"); // 文本框全选 } else { $("#test").text(""); objTD.html(newText); } }); } else { // 前后文本一致,把文本框变成标签 objTD.html(newText); } }); // 在文本框中按下键盘某键 input.keydown(function (event) { var jianzhi = event.keyCode; var input_keydown = $(this); switch (jianzhi) { case 13: // 按下回车键 ,把修改后的值提交到数据库 // $("#test").text("您按下的键值是: " + jianzhi); var newText = input_keydown.val(); // 修改后的名称 // 当老的类别名称与修改后的名称不同的时候才进行数据的提交操作 if (oldText != newText) { // 获取该类别名所对应的ID(序号) var caid = $.trim(objTD.prev().text()); // AJAX异步更改数据库 var url = "../handler/ChangeCaName.ashx?caname=" + encodeURI(encodeURI(newText)) + "&caid=" + caid + "&t=" + new Date().getTime(); $.get(url, function (data) { if (data == "false") { $("#test").text("类别修改失败,请检查是否类别名称重复!"); input_keydown.trigger("focus").trigger("select"); // 文本框全选 } else { $("#test").text(""); objTD.html(newText); } }); } else { // 前后文本一致,把文本框变成标签 objTD.html(newText); } break; case 27: // 按下Esc键, 取消修改,把文本框变成标签 $("#test").text(""); objTD.html(oldText); break; } }); });});
小结
温故而知新,相信总结的力量。
阅读全文
0 0
- 点击表格实现文本输入效果
- ajax实现表格输入效果
- Javascript实现点击表格行的效果
- 实现表格隔行/点击换色效果
- 实现点击文本,变成文本框可输入
- android中实现自动输入文本效果
- JavaFX实现图片显示,文本输入,表格显示
- Android 01:AutoCompleteTextView-简单实现实现自动输入文本效果
- Android---文本中缩略图点击弹出大图效果实现
- 通过YYtext实现文本点击(类似微博效果)
- 带下拉效果的文本输入框的实现
- 在屏幕中实现自动输入文本效果
- Android 实现输入框点击抖动的效果
- JS实现输入框提示文字点击时消失效果
- 实现文本可点击
- 点击文本实现排序
- html 文本输入框效果
- html 文本输入框效果
- Oracle基础知识2 : 单表查询2(内置函数)
- Android WebView用法和WebView加载提升网页速度
- vue初级知识点总结
- 【SG函数】BZOJ1188(HNOI2007)[分裂游戏]题解
- 如何用 Java 实现 Web 应用中的定时任务?
- 点击表格实现文本输入效果
- 链队
- MAVEN私服
- mysql的update insert 和 replace的区别
- QT快键键
- Python yield 使用浅析
- 51nod 1341 混合序列 (矩阵快速幂)
- Hi3519V101移植SDL+FreeType+SDL_ttf
- 16秋计算机JAVA第五节课作业