ecshop中ajax单击修改功能的实现
来源:原创
时间:2016-01-31
作者:脚本小站
分类:其他
在ecshop二次开发中会用到单击修改功能,下面来说一下如何实现。
前台页面:
1.引入js文件 listtable.js 位置:admin/js/listtable.js
{insert_scripts files="../js/utils.js,listtable.js"}
2.在要修改的字段加上下面代码:
<td><span onclick="listTable.edit(this, 'edit_attachment_name', {$vo.id})">{$vo.name}</span></td>
edit方法的参数:
/** * 创建一个可编辑区,如单击修改标题 * param object obj this 对象 * param String act 请求的方法 * param int id要修改的id */ listTable.edit = function(obj, act, id);
后台页面:
在要请求的页面中如下写法:
首先是这些东西
define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php'); //这个类是修改东西的类,下面要用到这个类的edit方法 $exc = new exchange($ecs->table('attachment'), $db, 'id', 'name');
exchange类的参数
/* * ajax编辑修改 *admin/includes/cls_exchange.php * * @access public * @param string $table 数据库表名 * @param dbobject $db aodb的对象 * @param string $id 主键名称 * @param string $name 默认操作的字段名称 * * @return void */ function exchange($table,$db,$id,$name);
2.写如下代码:
if($_REQUEST['act'] == 'edit_attachment_name'){ //接收传过来的值 $id = intval($_POST['id']); $name = json_str_iconv(trim($_POST['val'])); //修改值 if ($exc->edit("name = '$name'", $id)) { clear_cache_files(); //修改成功就返回格式为json的修改后内容 make_json_result(stripslashes($name)); } }
/** * 编辑某个字段 * * @access public * @param string $set 要更新字段的集合 如" col = '$name', value = '$value'" * @param int $id 要更新的id * * @return bool 成功或失败 */ function edit($set, $id);