主頁(yè) > 知識(shí)庫(kù) > PHP Ajax實(shí)現(xiàn)表格實(shí)時(shí)編輯

PHP Ajax實(shí)現(xiàn)表格實(shí)時(shí)編輯

熱門(mén)標(biāo)簽:上海企業(yè)外呼系統(tǒng)價(jià)錢(qián) 電銷(xiāo)機(jī)器人 長(zhǎng)春 怎樣在地圖標(biāo)注文字 東平縣地圖標(biāo)注app 地圖標(biāo)注推銷(xiāo)坑人 中國(guó)地圖標(biāo)注不明確情況介紹表 大眾點(diǎn)評(píng)400電話怎么申請(qǐng) 河間市地圖標(biāo)注app 立陶宛地圖標(biāo)注

如果我們的對(duì)于一個(gè)表格中所有的數(shù)據(jù)都能在本頁(yè)進(jìn)行操作那該是多酷炫的一件事(用起來(lái)炒雞爽)!

用Ajax就可以實(shí)現(xiàn)這個(gè)功能啦。廢話不多說(shuō),下面貼出我寫(xiě)的demo吧哈哈。我用的TP框架(3.2)比較習(xí)慣啦。

首先是HTML代碼部分:

!DOCTYPE html>
html lang="en">
head>
meta charset="UTF-8">
title>AJAX實(shí)時(shí)編輯/title>
script src="__PUBLIC__/jquery-1.7.2.min.js">/script>
/head>
body>
center>
table border="1" width="1000" id="g_table">
tr>
!-- th>ID/th> -->
th>TAB1/th>
th>TAB2/th>
th>TAB3/th>
th>TAB4/th>
th>span onclick="add()">添加/span>/th>
/tr>
foreach name="tablist" item="vv">
tr>
!-- td>{$vv.id}/td> -->
input type="hidden" name="id" value="{$vv.id}">
td>{$vv.tab1}/td>
td>{$vv.tab2}/td>
td>{$vv.tab3}/td>
td>{$vv.tab4}/td>
td>span onclick="del(this)" id="del">刪除/span>span onclick="edit(this)" id="edit">修改/span>/td>
/tr>
/foreach>
/table>
/center>
/body>
script>
var g_table = $("#g_table");
function add(){
var addRow = $("tr>/tr>");

g_table.append(addRow);
for(var i = 0;i  4;i++){
var col_td = $("td>input type='text' />/td>");
addRow.append(col_td);
}
var col_opt = $("td>/td>");
var confirmBtn = $("a href='javascript:;'>確認(rèn)/a>");
var cancelBtn = $("a href='javascript:;'>取消/a>");
cancelBtn.click(function(){
window.location.reload();
});
confirmBtn.click(function(){
var currentRow = $(this).parent().parent();
var input_files = currentRow.find("input");
var post_files = {};
for(var i = 0 , j = input_files.length;i  j;i++){
post_files['clo_' + i] = input_files[i].value;
}
// $.post("{:U('ajax/add')}",post_files,function(msg){
// debugger;
// })
$.ajax({
type: 'post',
url : "{:U('ajax/add')}",
data: {post_files},
success:function(msg){
alert(msg);
window.location.reload();
}
})
});
col_opt.append(confirmBtn);
col_opt.append(cancelBtn);
addRow.append(col_opt);
}
function del(obj){
var id = $(obj).parent().prev().prev().prev().prev().prev().val();
$.ajax({
type: 'post',
url: "{:U('ajax/del')}",
data: {id:id},
success:function(msg){
alert(msg);
}
})
$(obj).parent().parent().remove();
}
function edit(obj){
var id = $(obj).parent().prev().prev().prev().prev().prev().val();
for(var i = 1;i  5;i++){
var temp = "td>input type='text' value='" + $(obj).parent().parent().children().eq(i).html() + "'/>/td>";
$(obj).parent().parent().children().eq(i).replaceWith(temp);
}
var confirmBtn1 = $("span id='confirm'>確認(rèn)/span>");
var cancelBtn1 = $("span onclick='back()'>取消/span>");
confirmBtn1.click(function(){
var currentRow = $(this).parent().parent();
var input_files = currentRow.find("input");
var post_files = {};
for(var i = 0 , j = input_files.length;i  j;i++){
post_files['clo_' + i] = input_files[i].value;
}
$.ajax({
type: 'post',
url : "{:U('ajax/edit')}",
data: {post_files:post_files,id:id},
success:function(msg){
alert(msg);
window.location.reload();
}
}) 
});
$(obj).prev().replaceWith(confirmBtn1);
$(obj).replaceWith(cancelBtn1);

}
function back(){
location.reload();
} 
/script>
/html>

下面是控制器中的代碼:

?php 

namespace Home\Controller;
use Think\Controller;
class AjaxController extends Controller{
public function index(){
$tab = M('table');
$tablist = $tab->select();
$this->assign('tablist',$tablist);
$this->display();
}
public function del(){
$map['id'] = $_POST['id'];
$tab = M('table');
$info = $tab->where($map)->delete();
if($info){
$this->ajaxReturn("刪除成功");
}else{
$this->ajaxReturn("刪除失敗");
}

}
public function add(){

$map['tab1'] = $_POST['post_files']['clo_0'];
$map['tab2'] = $_POST['post_files']['clo_1'];
$map['tab3'] = $_POST['post_files']['clo_2'];
$map['tab4'] = $_POST['post_files']['clo_3'];
$tab = M('table');
$res = $tab->add($map);
if($res){
$this->ajaxReturn("添加成功");
}else{
$this->ajaxReturn("添加失敗");
}
}
public function edit(){
$id = $_POST['id'];
$map['tab1'] = $_POST['post_files']['clo_1'];
$map['tab2'] = $_POST['post_files']['clo_2'];
$map['tab3'] = $_POST['post_files']['clo_3'];
$map['tab4'] = $_POST['post_files']['clo_4'];
// dump($map);exit;
$tab = M('table');
$res = $tab->where('id='.$id)->save($map);
if($res){
$this->ajaxReturn("更新成功");
}else{
$this->ajaxReturn("更新失敗");
}
}
}

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

您可能感興趣的文章:
  • php+ajax實(shí)時(shí)刷新簡(jiǎn)單實(shí)例
  • php+ajax實(shí)時(shí)輸入自動(dòng)搜索匹配的方法
  • 值得分享的php+ajax實(shí)時(shí)聊天室
  • PHP實(shí)現(xiàn)的消息實(shí)時(shí)推送功能【基于反ajax推送】
  • AJAX 實(shí)時(shí)讀取輸入文本(php)
  • PHP+Ajax實(shí)時(shí)自動(dòng)檢測(cè)是否聯(lián)網(wǎng)的方法
  • php+ajax實(shí)現(xiàn)無(wú)刷新動(dòng)態(tài)加載數(shù)據(jù)技術(shù)
  • php采用ajax數(shù)據(jù)提交post與post常見(jiàn)方法總結(jié)
  • ajax處理php返回json數(shù)據(jù)的實(shí)例代碼
  • php+jQuery ajax實(shí)現(xiàn)的實(shí)時(shí)刷新顯示數(shù)據(jù)功能示例

標(biāo)簽:遼寧 本溪 內(nèi)江 玉樹(shù) 營(yíng)口 四川 益陽(yáng) 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP Ajax實(shí)現(xiàn)表格實(shí)時(shí)編輯》,本文關(guān)鍵詞  PHP,Ajax,實(shí)現(xiàn),表格,實(shí)時(shí),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP Ajax實(shí)現(xiàn)表格實(shí)時(shí)編輯》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于PHP Ajax實(shí)現(xiàn)表格實(shí)時(shí)編輯的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章