有时候,我们想要编辑flexigrid里的数据。一个原位编辑器是需要的,现在不需要再弹出一个对话框了。这里我会展示如何做到这点。

我使用了jquery-in-place-editor库。请参考官方站点:http://code.google.com/p/jquery-in-place-editor/

step1: 在定义flexigrid模型的时候,添加一个函数来处理flexigrid的列

  1. $(document).ready ( function() {
  2. $("#displays").flexigrid (
  3. {
  4. url: '<%=jsonp%>/bindedDisplays',
  5. method:'POST',
  6. dataType: 'json',
  7. width: 400,
  8. height: 300,
  9. colModel : [
  10. {hide: '<%=check%>', name: 'check', width: 30, sortable: true, align: 'left'},
  11. {display: 'ID', name: 'id', width: 90, sortable: true, align: 'left'},
  12. {display: '<%=description%>', name: 'description', width: 110, sortable: true, align: 'left',process:editDescription},
  13. {display: '<%=status%>', name: 'status', width: 20, sortable: true, align: 'left'},
  14. {display: '<%=unbind%>', name: 'unbind', width: 20, sortable: true, align: 'left',process:unbindDisplay}
  15. ]
  16. }
  17. );
  18. }
  19. );
$(document).ready ( function() {
$("#displays").flexigrid (
{
url: '<%=jsonp%>/bindedDisplays',
method:'POST',
dataType: 'json',
width: 400,
height: 300,
colModel : [
{hide: '<%=check%>', name: 'check', width: 30, sortable: true, align: 'left'},
{display: 'ID', name: 'id', width: 90, sortable: true, align: 'left'},
{display: '<%=description%>', name: 'description', width: 110, sortable: true, align: 'left',process:editDescription},
{display: '<%=status%>', name: 'status', width: 20, sortable: true, align: 'left'},
{display: '<%=unbind%>', name: 'unbind', width: 20, sortable: true, align: 'left',process:unbindDisplay}
]
}
);
}
);

step2: 使用jquery-in-place-editor来实现editDescription函数

  1. function editDescription(celDiv, id){
  2. $( celDiv ).click( function() {
  3. var idTd = $(celDiv).parent().parent().children()[1];
  4. $(celDiv).editInPlace({
  5. url: "update_description",
  6. params: "address="+$(idTd.children).html(),
  7. error:function(obj){
  8. alert(JSON.stringify(obj));
  9. },
  10. success:function(obj){
  11. var str = m[JSON.parse(obj).status+""][window.curLanguage];
  12. alert(str);
  13. $("#displays").flexReload();
  14. }
  15. });
  16. });
  17. }
function editDescription(celDiv, id){
$( celDiv ).click( function() {
var idTd = $(celDiv).parent().parent().children()[1];
$(celDiv).editInPlace({
url: "update_description",
params: "address="+$(idTd.children).html(),
error:function(obj){
alert(JSON.stringify(obj));
},
success:function(obj){
var str = m[JSON.parse(obj).status+""][window.curLanguage];
alert(str);
$("#displays").flexReload();
}
});
});
}

$(celDiv).editInPlace 会让你在web界面上看到原位编辑的效果。

Ajax请求会通过jquery-in-place-editor发到web server的update_description路径上。

非常简单,你当然也需要引入必要的js文件,像这样:

  1. <script type="text/javascript" src="script/jquery.editinplace.js"></script>
<script type="text/javascript" src="script/jquery.editinplace.js"></script>

原文链接:http://blog.csdn.net/sheismylife/article/details/7908611

Flexigrid例子二: 原位编辑器的更多相关文章

  1. scrapy-splash抓取动态数据例子二

    一.介绍 本例子用scrapy-splash抓取一点资讯网站给定关键字抓取咨询信息. 给定关键字:打通:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4.资讯来源 二.网站信 ...

  2. Quartz1.8.5例子(二)

    /* * Copyright 2005 - 2009 Terracotta, Inc. * * Licensed under the Apache License, Version 2.0 (the ...

  3. Linux学习笔记之十二————vim编辑器的分屏操作

    一.分屏操作: sp: 上下分屏,后可跟文件名 vsp: 左右分屏,后可跟文件名 Ctr+w+w: 在多个窗口切换 二.启动分屏: 1.使用大写O参数进行垂直分屏 $ vim -On file1 fi ...

  4. Python例子二

    例1.构造函数 #-*-coding:utf--*- import sys class Student: def __init__(self,name,age): self.__name=name s ...

  5. go例子(二) 使用go语言实现数独游戏

    例子托管于github example.go package main import (     "./sudoku" ) func main() {     //var smap ...

  6. 从零开始学习Node.js例子二 文本提交与显示

    index.js var server = require("./server"); var router = require("./router"); var ...

  7. C#解析XML 例子二

    <checkResult> <item> <fmId>XX0001</fmId> <fmItemId>20000RT</fmItemI ...

  8. [原][osg][QT]osg与QT界面结合的简单例子二

    //main.cpp #include "VREObliqueEditorQTWindow.h" #include <QtWidgets/QApplication> # ...

  9. Libevent例子(二)

    服务端 #include<netinet/in.h> #include<stdio.h> #include<string.h> #include<event. ...

随机推荐

  1. ORACLE 事务学习

    以下内容为本人的学习手记,有不足和理解错误的地方,请谨慎参考. 在ORACLE中的事务并不像MSSQL中的事务那样可以随意控制. ORACLE的事务是在进行数据第一次被修改后自动开启的无法显示的开启事 ...

  2. [java]序列化框架性能对比(kryo、hessian、java、protostuff)

    序列化框架性能对比(kryo.hessian.java.protostuff) 简介:   优点 缺点 Kryo 速度快,序列化后体积小 跨语言支持较复杂 Hessian 默认支持跨语言 较慢 Pro ...

  3. 用javacsv API 来操作csv文件

    javacsv是国外开发的一个比较好的操作csv文件的API,这里简单讲一下用法. 先下载javacsv2.0.zip的文件,解压后,把javacsv.jar 添加到项目中.  本站下载地址: htt ...

  4. HTML5 CANVAS 高级

    加载图片 获取图像有三种方式: a : createImageData(),没有效率,一个像素一个像素的绘制: b : var img= document.getElementById("i ...

  5. web前端基础知识及快速入门指南

    web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...

  6. Neutron GRE模式要注意的问题

    GRE模式下,如果MTU和Offloading配置不当,会严重降低网络性能(https://ask.openstack.org/en/question/6140/quantum-neutron-gre ...

  7. Neutron分析(1)——简介

    Neutron是OpenStack核心项目之一,提供云计算环境下的虚拟网络功能.Neutron的功能日益强大,并在Horizon面板中已经 集成该模块.作为Neutron的核心开发者之一,个人觉得Ne ...

  8. 如何制作带MFC界面的MFC DLL

    最近在做基于组件化MFC界面的开发,需要把界面封装到动态库中. 一:工程创建步骤 1.创建MFC DLL工程,选择 “在共享 DLL 中使用 MFC”. 2.运行时库选择:c/c++-->代码生 ...

  9. HTML5外包团队——技术分享:HTML5判断设备在线离线及监听网络状态变化例子

    <!doctype html> <html> <head> <meta http-equiv="content-type" content ...

  10. 剑指offer系列29-----链表中环的入口节点-

    [题目]一个链表中包含环,请找出该链表的环的入口结点. [思路]方法一:使用双指针 方法二:利用set集合的特性,不能添加重复数字,否则返回false package com.exe7.offer; ...