网站后台修改数据时,需要重打开页面修改吗?不用了,使用下面的方法即可实现:
html代码:
- <table name="unit" border=1>
- <volist name="u_list" id="vo">
- <tr id={$vo.id}>//通过此处的ID获取数据表中的ID字段
- <td width=20% name="u_name">
- {$vo.u_name}
- td>
- <td width=30% name="href">
- {$vo.href}
- td>
- <td width=20%>
- <a href="__URL__/del/id/{$vo.id}" onclick="return del();">[ 删除 ]a>
- td>
- tr>
- volist>
- <tr>
- <td colspan=5>{$page}td>
- tr>
- table>
JQuery代码:
- $("tr>td").dblclick(function(){
- var inval = $(this).html();//获取原有的内容
- var inname = $(this).attr("name");//获取html代码中的name值即数据表中是哪个字段
- var inid = $(this).parents().attr("id");//获取需要修改的数据的ID
- //alert(inval);
- $(this).html("+inval+"' style='width:300px;'>");//把原有内容放在这里
- $("#edit").focus().live("blur",function(){
- var editval = $(this).val();
- $(this).parents("td").html(editval);
- $.post("save",{id:inid,ziduan:inname,val:editval});//通过JQ的AJAX方法中的POST方法提交数据至Action
- });
- });
ThinkPHP中的Action代码:
- calss UnitAction extends Action{
- function save(){
- $id=$_POST['id'];
- $ziduan=$_POST['ziduan'];
- $val=$_POST['val'];
- $u_info=M('Unit');
- $u_info->where('id='.$id)->setField($ziduan,$val)->save();
- }
- }
- ?>
在处理中出现了个低级错误,就是在最后在Action中:
- calss UnitAction extends Action{
- function save(){
- $id=$_POST['id'];
- $data['u_name']=$_POST['u_name'];
- $data['href']=$_POST['href'];
- $u_info=M('Unit');
- $u_info->where('id='.$id)->->save($data);
- }
- }
- ?>
把具体的字段值给代进去了,以至于怎么修改都不对,还好还好,及时发现了这个错误并改正了回来,记录一下,以作参考用.