jquery ajax双击div可直接修改div中的内容
作者:bea
最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值,而要重新进入编辑页比较麻烦,于是网上找点资料自己动手写了一个jquery双击实现直接修改排序值的效果: html代码: <div title="【双击可直接修改】" class="changeSort" id="{$id}">{$sort}</div> JS代码: <script type="text/javascript">//双击修改排序 $('.
最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值,而要重新进入编辑页比较麻烦,于是网上找点资料自己动手写了一个jquery双击实现直接修改排序值的效果:
html代码:
<div title="【双击可直接修改】" class="changeSort" id="{$id}">{$sort}</div>
JS代码:
<script type="text/javascript">
//双击修改排序
$('.changeSort').dblclick(function(){
var url = "{:U('setSort')}";
var td = $(this);
var id = td.attr('id');
var text = td.text();
var txt = $("<input type='text' class='input-small' >").val(text);
txt.blur(function(){
// 失去焦点,保存值。于服务器交互自己再写,最好ajax
var newText = $(this).val();
$.ajax({
url:url,
type:'POST',
data:{'tid':id,'sort':newText},
dataType:'json',
success:function(res){
if(res.flag==1){
layer.msg(res.msg);
// 移除文本框,显示新值
$(this).remove();
td.text(newText);
}else if(res.flag==3){
layer.msg(res.msg);
txt.val(newText);
}
}
});
});
td.text("");
td.append(txt);
});
</script>
PHP代码:
<?PHP
/**
* ajax 设置排序值
*/
public function setSort(){
if(IS_POST){
$tid = I('post.tid');
$sort = I('post.sort');
if(!is_numeric($sort)){
$arr = array(
'flag'=>3,
'msg'=>'请输入数字',
'link'=>'',
'content'=>''
);
$this->ajaxReturn($arr);
}
$data = array(
'id'=>$tid,
'sort'=>$sort
);
$this->mod_sort = M('Sort');
$res = $this->mod_sort->save($data);
if($res){
$arr = array(
'flag'=>1,
'msg'=>'排序值设置成功',
'link'=>'',
'content'=>''
);
}else{
$arr = array(
'flag'=>2,
'msg'=>'排序值设置失败',
'link'=>'',
'content'=>''
);
}
}else{
$arr = array(
'flag'=>0,
'msg'=>'请求非法!',
'link'=>'',
'content'=>''
);
}
$this->ajaxReturn($arr);
}
?>
效果如下图:
以上就是本文的全部内容,希望对大家的学习有所帮助。
有用 | 无用
html代码:
<div title="【双击可直接修改】" class="changeSort" id="{$id}">{$sort}</div>
JS代码:
<script type="text/javascript">
//双击修改排序
$('.changeSort').dblclick(function(){
var url = "{:U('setSort')}";
var td = $(this);
var id = td.attr('id');
var text = td.text();
var txt = $("<input type='text' class='input-small' >").val(text);
txt.blur(function(){
// 失去焦点,保存值。于服务器交互自己再写,最好ajax
var newText = $(this).val();
$.ajax({
url:url,
type:'POST',
data:{'tid':id,'sort':newText},
dataType:'json',
success:function(res){
if(res.flag==1){
layer.msg(res.msg);
// 移除文本框,显示新值
$(this).remove();
td.text(newText);
}else if(res.flag==3){
layer.msg(res.msg);
txt.val(newText);
}
}
});
});
td.text("");
td.append(txt);
});
</script>
PHP代码:
<?PHP
/**
* ajax 设置排序值
*/
public function setSort(){
if(IS_POST){
$tid = I('post.tid');
$sort = I('post.sort');
if(!is_numeric($sort)){
$arr = array(
'flag'=>3,
'msg'=>'请输入数字',
'link'=>'',
'content'=>''
);
$this->ajaxReturn($arr);
}
$data = array(
'id'=>$tid,
'sort'=>$sort
);
$this->mod_sort = M('Sort');
$res = $this->mod_sort->save($data);
if($res){
$arr = array(
'flag'=>1,
'msg'=>'排序值设置成功',
'link'=>'',
'content'=>''
);
}else{
$arr = array(
'flag'=>2,
'msg'=>'排序值设置失败',
'link'=>'',
'content'=>''
);
}
}else{
$arr = array(
'flag'=>0,
'msg'=>'请求非法!',
'link'=>'',
'content'=>''
);
}
$this->ajaxReturn($arr);
}
?>
效果如下图:
以上就是本文的全部内容,希望对大家的学习有所帮助。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 详解JavaScript的AngularJS框架中的表达式与指令
- 深入解析AngularJS框架中$scope的作用与生命周期
- JS判断字符串字节数并截取长度的方法
- jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
- js控制TR的显示隐藏
- Node.js操作Firebird数据库教程
- 实例剖析AngularJS框架中数据的双向绑定运用
- node.js微信公众平台开发教程
- 详解JavaScript的AngularJS框架中的作用域与数据绑定
- 深入学习AngularJS中数据的双向绑定机制
- 简单的jQuery banner图片轮播实例代码
- 百度地图给map添加右键菜单(判断是否为marker)
- jquery实现右侧栏菜单选择操作
- jQuery实现TAB选项卡切换特效简单演示
- jquery实现页面常用的返回顶部效果
- JavaScript模拟鼠标右键菜单效果
- javascript实现移动端上的触屏拖拽功能
- 基于zepto的移动端轻量级日期插件--date_picker
- 基于Javascript实现二级联动菜单效果