您的位置:首页 > Web前端 > JQuery

[转]jquery 点击表格变为input可以修改无刷新更新数据

2015-12-25 10:55 656 查看
原文地址:http://www.freejs.net/article_biaodan_43.html

之前已经发了2篇类似的文章《点击变td为input更新》《jquery表格可编辑修改表格里面的值,点击td变input无刷新更新表格》

这篇功能是一样的,不过实用性可能比不上前面的文章



PHP Code

<table>

<Tr><Td colspan="2">如果本例看不到数据请先添加一条记录,点击<a href="?action=add">这里可以添加</a></Td></Tr>

<?php

$sql="select * from `add_delete_record` where id>0";

$rs=mysql_query($sql);

if ($row = mysql_fetch_array($rs))

{

do {

?>

<Tr bgcolor="#eeeeee">

<Td><?php echo $row['id']?></Td>

<Td class="bigclassname" ><span title="点击修改"><?php echo $row['text']?></span></Td>

</Tr>

<?php

}

while ($row = mysql_fetch_array($rs));

}?>

</table>

JavaScript Code

<script>

/**//*

* 说明:用Jquery的方法,无刷新页面,编辑表格

*/

$(function() {

//给页面中有bigclassname类的标签上加上click函数

$(".bigclassname").click(function() {

var objTD = $(this);

//先将老的类别名称保存起来,并用trim方法去掉左右多余的空格

var oldText = $.trim(objTD.text());

//构造一个input的标签对象(作用是为了让这个input失效,不然点击多次后,文字会消失)

var input = $("<input type='text' value='" + oldText + "' />");

//当前td的内容变为文本框,并且把老类别名放进去

objTD.html(input);

//设置文本框的点击事件失效

input.click(function() {

return false;

});

//设置文本框样式,让界面显示的人性化点

input.css("font-size", "16px");

input.css("text-align", "center");

input.css("background-color", "#ffffff");

input.width("120px");

//自动选中文本框中的文字

input.select();

//文本框失去焦点时重新变为文本

input.blur(function() {

//获得新输入的类别名

var newText = $(this).val();

//用新的类别名文字替换之前变过来的输入框状态

objTD.html(newText);

//获取该类别名所对应的ID(bigclassid)

var bigclassid = objTD.prev().text();

//将新的类别名进行转码,不然界面以及数据库显示的都是"???"这样的乱码

newText = escape(newText);

//获取要传到"一般处理文件"(update_bigclassname_2.php)中的URL

var url = "update.php?id=" + bigclassid + "&bigclassname=" + newText;

//AJAX异步更改数据库,data为成功后的回调返回值,用于显示提示信息

$.get(url, function(data) {});

});

});

});

</script>

演示演示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: