牛腩新闻发布系统——初探JQuery,AJAX

<pre class = "javascript" name= "code" > /*
*可编辑的表格
*/
$(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 ;
             }
         });
 
     });
});
 
 
// 屏蔽Enter按键
$(document).keydown(function (event) {
     switch (event.keyCode) {
         case 13 : return false ;
     }
});
 
</pre>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值