用Table-Selector选出表单数据
来源:互联网 发布:闲鱼如何申请淘宝介入 编辑:程序博客网 时间:2024/06/02 04:23
介绍
Table-Selector是一款简单的jQuery插件,它可让表单变为可选,并展示出已选项,先看个demo感受下。
基本配置
1.引入文件
在进行操作之前,我们需要将资源文件引入。
<link rel="stylesheet" href="../css/selector.css"><script type="text/javascript" src="../js/lib/jquery.js"></script><script type="text/javascript" src="../js/selector.js"></script>
注意selector.js依赖jQuery,需在其之后引入。
2.table设置
<tr data="我是第1排"> <td>11</td> <td>12</td> <td>13</td></tr>
tr标签加上data属性,让每一行表为可选。若想让每个单元格可选,可设置相应td标签。
<td data="11">11</td>
3.selector设置
<div id="selector"></div>
页面加载完成时,生成selector对象。
//table id$("#target").Selector({ id: "selector",//html页面selector容器id table: { type:"row"//cell:单元格;row:行。默认为"row" }}).show();
大功告成,selector可以正常使用啦!
功能进阶
添加数据操作
选好数据后,有时候需要对其添加操作,selector提供了两种方式。
1.构造函数方式
var selector = new Selector({ id: "selector",//html页面selector容器id table: { id: "target"//table id }, actions:[ //添加操作按钮 { name:"构造函数",//按钮名称 action:function(){alert("我是构造函数生成的!");}//点击后触发函数 } ]}).show();
actions传入一个操作按钮的数组,多个操作按钮用逗号隔开。
2.普通函数方式
selector.addActionButton({ name:"普通函数",//按钮名称 action:function(){ alert("我是普通函数生成的!你选择了:" + selector.getSelectedItems().join());//点击后触发操作 }});
getSelectedItems()返回一个已选择数据的数组。
3.自定义方式
seletor提供的按钮长相太挫,在这个看脸的世界当然无法担当重要角色,除了修改其原生的css样式外,你也可以自定义操作按钮,这里不做过多论述。
添加方法监听
有时候表单有频繁更新,我们希望表单显示始终与数据的保持一致。但往往我们不得重新渲染表单,这样太过繁琐,尤其是数据更新无法预测的时候。selector提供了方法监听,被传入方法在每次执行之后,会触发一个自定义操作。
1.同步监听
selector.bindListener({ scope: selector,//被监听方法上下文 method: "pushItem",//被监听方法 action: function () {//方法触发后的操作 var items = selector.getSelectedItems(); alert("您选中了:" + items[items.length - 1]); }});
以上,实现了,选择表单时弹出选中项的功能。selector中的pushItem方法在每一次数据选中时触发,随后触发action中的相应操作。
2.异步监听
//异步更新表单数据asyncFn = function(callback){ setTimeout(function(){ callback(); }, 2000); alert("正在更新表单数据,请稍等...");};//添加操作按钮selector.addActionButton({ name:"异步更新", action:function(){ this.asyncFn(function(){ alert("数据更新完成!"); }); }});//添加异步监听selector.bindListener({ scope: this,//被监听方法上下文 method: "asyncFn ",//被监听方法 action: function () {//方法触发后操作 alert("检测数据更新,重新渲染表单"); selector.refreshTable(); }, async: 0//异步方法回调函数的形参位置});
以上,模拟了更新表单异步操作的监听过程。【查看demo】。
3.解绑
selector用monkey patch的方式实现方法监听,实质上是替换了原上下文的方法。所以销毁时,别忘了解绑。
selector.unbindListener(this, "asyncFn");//解绑异步方法selector.unbindAllListeners();//解除所有绑定
附录
构造函数参数
属性
方法
1 0
- 用Table-Selector选出表单数据
- table表单
- jQuery EasyUI table表单的数据绑定与交互
- Java-jsp表单提交整个table数据到后台
- easyui中将Table中的row数据自动注入表单
- 一个Table表单样式
- table表单边框
- table、form表单标签
- HTML-表单table
- jQuery table selector jquey 表格 选择器
- 用正则表达式选出字符串中的数字
- 根据关键字选出excel中匹配的数据
- 根据关键字选出excel中匹配的数据
- 根据关键字选出excel中匹配的数据
- 用JQuery采集表单数据
- 用Servlet获取表单数据
- 用Servlet获取表单数据
- 表单数据
- 人生
- RxJava 笔记-1
- Retrofit 使用
- 数字按位倒转
- 工作小技巧-git patch
- 用Table-Selector选出表单数据
- 常用的一些数字的正则表达式验证方法
- 一个很棒的 Android APP框架
- Android数据库SQLite表内设置外键
- RESTFUL API学习教程
- Android应用架构之Retrofit使用
- Python 数据科学入门
- 初读《演说之禅设计篇》有感
- Android之点击回退键俩次退出程序