一篇文章讲明白jQuery插件之jqueryeditableplugin

简介: 一篇文章讲明白jQuery插件之jqueryeditableplugin

jeditable是一个jquery插件,它的优点是可以就地编辑,并且提交到服务器处理,是一个不可多得的就地编辑插件。(注: 就地编辑,也有称即时编辑?一般的流程是这样的,当用户点击网页上的文字时,该文字就会出现在一个编辑框中,用户对文字进行修改完成后点击提交按钮,新的文本将发送到服务器上,然后表单消失,显示最新编辑的文本。),你可以通过这个演示页面来亲自体验下。

官网:

基本的使用方法如下:

首先编辑一个 html 文件,包含这么一段:

[span style="color: rgba(128, 0, 0, 1)">div class="edit" id="div_1"

[span style="color: rgba(128, 0, 0, 1)">div class="edit_area" id="div_2"

adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore

magna aliquam erat volutpat.

然后我们使用如下的 JS 代码来实现即时编辑(要先引入 Jeditable 插件):

$(document).ready(function() {

$('.edit').editable('');

});

实现不同内容的编辑以及更多的定制项:

$(document).ready(function() {

$('.edit').editable('', {

indicator : 'Saving...',

tooltip : 'Click to edit...'

});

$('.edit_area').editable('', {

type : 'textarea',

cancel : 'Cancel',

submit : 'OK',

indicator : '',

tooltip : 'Click to edit...'

});

上面的定制项包括按钮的文本,提示信息以及提交时的 loading 图片显示等等。

那么当用户点击了确定按钮时,发送到服务器上的是什么数据呢?

数据内容包含了编辑框的 ID 以及新的内容:id=elements_idvalue=user_edited_content

你也可以使用下面的方法来修改默认的参数名:

$(document).ready(function() {

$('.edit').editable('', {

id : 'elementid',

name : 'newvalue'

});

修改后传递的数据变成:elementid=elements_idnewvalue=user_edited_content

如果单行文本框不注意满足你的要求,可以使用 textarea 多行文本编辑框: 

$(document).ready(function() {</p><p> $('.edit_area').editable('', {

loadurl : '',

type : 'textarea',

submit : 'OK'

});

});

另外 Jeditable 还支持下拉选择框哦:

$('.editable').editable('', { </p><p> data : " {'E':'Letter E','F':'Letter F','G':'Letter G', 'selected':'F'}",</p><p> type : 'select',</p><p> submit : 'OK'</p><p>});</p><p>或者你也可以从服务器获取下拉选择的数据内容:</p><p><?php</p><p> </p><p> $array【'E'】 = 'Letter E';

$array【'F'】 = 'Letter F'; </p><p> $array【'G'】 = 'Letter G';

$array【'selected'】 = 'F';</p><p> print json_encode($array);

?>

然后通过 loadurl 指定这个服务器输出数据的 URL 地址:

$('.editable').editable('', { </p><p> loadurl : '',</p><p> type : 'select',</p><p> submit : 'OK'</p><p>};</p><p>如果你希望给组件设定不同的样式,可以这样:</p><p>$('.editable').editable('', {

cssclass : 'someclass'

});

$('.editable').editable('', { </p><p> loadurl : '',</p><p> type : 'select',</p><p> submit : 'OK',</p><p> style : 'display: inline'</p><p>});  </p><p>或者:</p><p>$('.editable').editable('', {

loadurl : '',

type : 'select',

submit : 'OK',

style : 'inherit'

});

最后来点高级的内容,如果你希望使用一个 JS 函数而不是 URL 来处理提交,可以这样:

$('.editable').editable(function(value, settings) { </p><p> console.log(this);</p><p> console.log(value);</p><p> console.log(settings);</p><p> return(value);</p><p> }, { </p><p> type : 'textarea',</p><p> submit : 'OK',</p><p>});</p><p>处理回调: </p><p>$('.editable').editable('', {

type : 'textarea',

submit : 'OK',

callback : function(value, settings) {

console.log(this);

console.log(value);

console.log(settings);

}

});

使用附加参数:

$(".editable").editable("";, {</p><p> submitdata : {foo: "bar"};</p><p>});</p><p>直接从URL获取显示内容:</p><p>$(".editable").editable("";, {

loadurl : ""

});

英文原文:

打铁还需自身硬

相关文章
|
1天前
jQuery+Slick插件实现游戏人物轮播展示切换源码
jQuery+Slick插件实现游戏人物轮播展示切换源码
21 14
|
22天前
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
59 21
|
23天前
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
48 16
|
18天前
|
JavaScript
jquery文字动画特效插件animatext
jquery文字动画特效插件animatext
41 9
|
21天前
|
移动开发 JavaScript 前端开发
简单易用的jquery响应式轮播图插件ma5slider
ma5slider是一款简单易用的jquery响应式轮播图插件。该轮播图支持鼠标拖拽,可以通过CSS定制外观,支持无限循环模式,内置水平,垂直和淡入淡出三种轮播图过渡动画效果。
|
23天前
|
JavaScript
简洁实用的jQuery进度条插件
这是一款简洁实用的jQuery进度条插件。该插件使用简单,通过在页面中放置指定的HTML代码,即可生成带动画效果的进度条。
|
22天前
|
JavaScript 容器
jQuery文字跑马灯插件Marquee
jQuery.Marquee是一款jQuery文字跑马灯插件。jQuery.Marquee跑马灯插件可以结合使用CSS3动画,制作文字的上下左右移动效果。
|
19天前
|
JavaScript 容器
jquery和CSS3图片排序过滤搜索插件
Filterizr是一款jquery和CSS3图片排序过滤插件。它可以对一组图片进行排序,按条件过滤和按关键字搜索。并在显示结果时使用指定的CSS3动画过渡效果。
24 2
|
19天前
|
JavaScript
jquery和CSS3响应式轮播图插件jcSlider
jcSlider是一款jquery和CSS3响应式轮播图插件。jcSlider使用CSS3过渡动画,它可以和animate.css完美结合,生成60多种轮播图过渡动画效果。
|
23天前
|
JavaScript
jQuery Lightbox和弹出层插件flashy
Flashy.js是一款响应式jQuery Lightbox和弹出层插件