`

jQuery实现可编辑的表格

    博客分类:
  • .NET
阅读更多

 

$(function() {    // 相当于在页面中的body标签加上onload事件
    $(".caname").click(function() {   // 给页面中有caname类(表格里的td)的标签加上click函数
        var objTD = $(this);
        var oldText = $.trim(objTD.text());  // 保存老的类别名称,text()用于获得标签里的值,$.trim()去除空格
        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(); // 修改后的名称  val()用于获得input标签的value值
            var input_blur = $(this);

            // 当老的类别名称与修改后的名称不同的时候才进行数据的提交操作
            if (oldText != newText) {
                // 获取该类别名所对应的ID(序号)
                var caid = $.trim(objTD.prev().text());       //prev()用于指向当前对象的前一个兄弟元素
                // 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;
            }
        });

    });
});


// 屏蔽Enter按键
$(document).keydown(function(event) {
    switch (event.keyCode) {
        case 13: return false;
    }
}); 

 

using System;
using System.Collections;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using BLL;
using Model;

namespace 新闻系统.admin
{
    /// <summary>
    /// $codebehindclassname$ 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class ChangeCaName : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string caid = context.Request.QueryString["caid"];
            string caname =context.Server.UrlDecode(context.Request.QueryString["caname"]);
            //判断数据库里是否有该类别
            if (new CateporyManager().IsExist(caname))
            {
                context.Response.Write("false");                   //向$.get()返回一个值
                return;
            }
            //更改数据库类别名
            Catepory ca = new Catepory();
            ca.Caname = caname;
            ca.Id = caid;
            bool b = new CateporyManager().UpdateCate(ca);
            if (b)
            {
                context.Response.Write("true");
            }
            else
            {
                context.Response.Write("false");
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

 

分享到:
评论

相关推荐

    jQuery实现可编辑表格

    总结一下,jQuery实现可编辑表格主要涉及以下步骤: 1. 创建带有输入框的HTML表格结构。 2. 使用CSS定制样式,使输入框融入表格。 3. 使用jQuery监听事件,实现表格单元格的编辑和保存功能。 这个简单的示例展示了...

    jquery 实现可编辑表格

    在网页开发中,jQuery 是一个...综上所述,利用 jQuery 实现可编辑表格涉及到 HTML 结构、jQuery 事件监听、DOM 操作以及可能的数据交互。通过结合这些技术,您可以创建出一个功能丰富的、用户友好的可编辑表格组件。

    jquery实现可编辑表格

    总的来说,利用jQuery实现可编辑表格是一项实用的技能,它使开发者能够快速构建动态、交互性强的网页应用。通过结合HTML5的新特性、jQuery的强大功能以及适当的前端框架,我们可以创建出满足各种需求的可编辑表格,...

    JQuery实现可编辑表格

    这篇名为“JQuery实现可编辑表格”的博客文章可能深入探讨了如何利用jQuery的功能来创建一个用户可以编辑的表格。在网页设计中,这种功能常用于数据输入或管理应用程序,允许用户直接在表格内修改数据而无需跳转到...

    JQUERY实现可编辑的表格

    总之,使用jQuery实现可编辑表格是一项实用的技术,它允许用户直接在网页上修改数据,提高了交互性和数据管理的效率。通过学习和实践,你可以根据实际需求进行定制,创建出更加复杂的可编辑表格应用。

    JQuery实现可编辑的表格

    通过以上步骤,我们可以构建出一个功能完善的、基于jQuery的可编辑表格。需要注意的是,虽然jQuery简化了许多任务,但现代前端框架如React、Vue或Angular提供了更强大的状态管理和组件化功能,可能更适合处理复杂的...

    Jquery实现可编辑的表格

    在网页开发中,jQuery是一个非常强大的...总之,使用jQuery实现可编辑表格涉及多个方面,包括DOM操作、事件处理、数据管理以及用户交互优化。通过熟练掌握这些技巧,你可以创建出功能丰富且易于使用的Web应用程序。

    基于jquery的可编辑表格实现代码

    本示例“基于jquery的可编辑表格实现代码”是关于如何利用jQuery创建一个功能丰富的交互式表格,允许用户双击单元格(TD元素)进行编辑,编辑完成后,数据会自动更新回原单元格。以下将详细介绍这一技术实现的关键...

    jquery可编辑性表格

    **jQuery可编辑表格详解** 在Web开发中,表格是一种常用的数据展示方式,而jQuery可编辑表格则让用户体验更上一层楼。它允许用户直接在表格内进行数据编辑,无需跳转页面或刷新,大大提升了交互性和效率。jQuery库...

    jquery可编辑表格.zip

    在这个“jquery可编辑表格.zip”压缩包中,我们关注的是如何使用jQuery来实现一个可编辑的表格功能。这样的功能对于数据展示和管理来说非常实用,尤其是在需要用户即时更新或输入数据的场景下。 首先,让我们详细...

    使用JQuery实现的动态编辑表格

    本人前端小白,因为项目需求,需要动态编辑表格,但是layui的编辑表格只适合 【有数据】修改功能用,并不适合【无数据】新增的功能使用,所以本人研究了几日,才写出了这么一个 无数据绑定,当然也可以自行绑定数据...

    JQuery实现可编辑的表格.rar

    通过以上步骤,我们可以创建一个功能完备、用户体验良好的可编辑表格。JQuery的强大功能使得这个过程变得相对简单,但要注意在实际项目中还需要考虑代码组织、模块化和测试等多方面因素,以确保代码的可维护性和稳定...

    jquery可编辑表格插件

    "jquery可编辑表格插件"就是基于jQuery的一种工具,旨在为网页中的表格提供动态编辑功能,使得用户可以直接在表格中进行数据的增删改查,极大地提升了交互性和用户体验。这种插件在数据展示和管理场景中尤其实用,...

    jquery 实现表格可编辑

    &lt;title&gt;jQuery 可编辑表格 &lt;script src="https://code.jquery.com/jquery-3.6.0.min.js"&gt;&lt;/script&gt; table { border-collapse: collapse; width: 100%; } td, th { border: 1px solid #ddd; padding: 8px;...

    JQuery可编辑表格

    总结来说,利用jQuery创建可编辑表格涉及的关键技术包括DOM操作、事件绑定、数据交互以及用户体验优化。这样的功能增强了用户与网页的互动性,使得数据管理更为直观和高效。通过结合HTML、CSS和jQuery,开发者可以...

    JQuery应用二:可编辑的表格

    总之,利用jQuery实现可编辑表格是一项实用的技能,能够提升网页的交互性。通过理解HTML基础、jQuery选择器和事件处理,以及HTML5的`contenteditable`属性,开发者可以轻松地创建自己的可编辑表格功能。在实际项目中...

    jquery可编辑表格

    jquery可编辑表格代码实现

    利用JQuery实现可编辑的表格

    对于复杂的编辑需求,可以引入插件如DataTables,它提供了丰富的可编辑表格功能,并集成了排序、过滤和搜索等特性。 总之,利用JQuery实现可编辑的表格,不仅提升了用户交互性,还增强了网页的数据管理能力。在实际...

Global site tag (gtag.js) - Google Analytics