網站后臺修改數據時,需要重打開頁面修改嗎?不用了,使用下面的方法即可實現:
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("<input type='text' id='edit' value='"+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代碼:
- <?php
- 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中:
- <?php
- 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);
- }
- }
- ?>
把具體的字段值給代進去了,以至于怎么修改都不對,還好還好,及時發現了這個錯誤并改正了回來,記錄一下,以作參考用.
新聞熱點
疑難解答
圖片精選