Extjs 点击复选框在表格中增加相关信息行


Posted in Javascript onJuly 12, 2016

功能效果:点击复选框在表格中自动增加相关信息行,复选框取消则表格中内容自动删除

Extjs 点击复选框在表格中增加相关信息行

初始效果大概是这样~~~~~

// 定义初始 存放表格数据
var gridItems = [];
//省份复选框
var $provinceCheckbox01 = new Ext.form.CheckboxGroup({
xtype: 'checkboxgroup',
fieldLabel: '省份选择',
labelWidth: 60,
columns: 9,
vertical: true,
margin: '10 0 0 15',
defaults: {
labelWidth: 80,
width: 60,
labelAlign: "left"
},
items: provinceItems, //provinceItems是从其他渠道获取的数据
listeners: {
change: OnChange // 复选框改变事件
}
});
//表格初始数据模型
var gridPanelStore = new Ext.data.Store({
fields: ['discount', 'provinceId', 'provinceName'],
data: {'items': ''},
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items'
}
}
});
// grid
var $grid = new Ext.grid.Panel({
store: gridPanelStore,
selType: 'rowmodel',
singleSelect: true,
margin: '20 0 0 0',
columns: [{
xtype: 'rownumberer',
header: '序号',
width: 70,
align: 'center'
}, {
header: '省份',
width: 150,
sortable: true,
menuDisabled: true,
align: 'center',
dataIndex: 'provinceName'
}, {
header: '折扣',
width: 100,
menuDisabled: true,
sortable: true,
align: 'center',
dataIndex: 'discount',
editor: {
allowBlank: false
}
}],
dockedItems: [{
xtype: "pagingtoolbar",
dock: "bottom",
displayInfo: true
}],
plugins: [cellEditing]
});
//事件监听
function OnChange(newValue, oldValue, eOpts) {
// 清空数据
gridItems = [];
//选中省份ID
var checkedId = this.getValue().xxx;
//判断选中数量
if(checkedId==undefined){
gridItems = [];
} else if (checkedId.length == undefined) {
for (var i = 0; i < provinceItems.length; i++) {
if (provinceItems[i].inputValue == checkedId) {
gridItems[0] = {
"provinceId": checkedId,
"provinceName": provinceItems[i].boxLabel,
"discount": "1"
};
}
}
}else if(checkedId.length !== undefined){
for(var j = 0;j<checkedId.length;j++){
for (var o = 0; o < provinceItems.length; o++) {
if (provinceItems[o].inputValue == checkedId[j]) {
gridItems[j] = {
"provinceId": checkedId[j],
"provinceName": provinceItems[o].boxLabel,
"discount": "1"
};
}
}
}
}
//console.log($gridItems);
$grid.store.loadData($gridItems, false);
}

类似的这种功能实际用到的可能不是很多。

做这个功能的时候,点击复选框之后获取到的数据一直放不到grid中。

最开始是想把取到的值,直接赋给 gridPanelStore.data.items ,但是赋值之后 用 store.reload() 刷新表格数据总是报错,说是方法错了。

我觉得(不一定对啊~),可能是因为我的数据模型里面套了太多层,导致直接从grid的store reload()才回报错的。

最后查找API,才发现了loadData 可以直接给数据传值。

Extjs 点击复选框在表格中增加相关信息行

我用的是Boolean值是 false。

以上所述是小编给大家介绍的Extjs 点击复选框在表格中增加相关信息行,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 1.4.2发布!主要是性能与API
Feb 25 Javascript
JQuery实现的图文自动轮播效果插件
Jun 19 Javascript
基于jQuery实现美观且实用的倒计时实例代码
Dec 30 Javascript
js获取所有checkbox的值的简单实例
May 30 Javascript
JS自定义混合Mixin函数示例
Nov 26 Javascript
在点击div中的p时,如何阻止事件冒泡
Feb 07 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
Sep 12 Javascript
jQuery实现遍历XML节点和属性的方法示例
Apr 29 jQuery
小程序开发中如何使用async-await并封装公共异步请求的方法
Jan 20 Javascript
微信小程序Echarts覆盖正常组件问题解决
Jul 13 Javascript
js blob类型url的视频下载问题的解决
Nov 29 Javascript
Element实现动态表格的示例代码
Aug 02 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
Jul 12 #Javascript
JavaScript中的事件委托及好处
Jul 12 #Javascript
原生js实现class的添加和删除简单代码
Jul 12 #Javascript
JavaScript动态添加事件之事件委托
Jul 12 #Javascript
html+js实现简单的计算器代码(加减乘除)
Jul 12 #Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
Jul 12 #Javascript
javascript加减乘除的简单实例
Jul 12 #Javascript
You might like
常见的PHP五种设计模式小结
2011/03/23 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
jquery实现居中弹出层代码
2010/08/25 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
Jqprint实现页面打印
2017/01/06 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
vue实现留言板todolist功能
2017/08/16 Javascript
JS简单实现数组去重的方法分析
2017/10/14 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python爬取网易云音乐热门评论
2017/03/31 Python
python妙用之编码的转换详解
2017/04/21 Python
Python实现Kmeans聚类算法
2020/06/10 Python
基于python log取对数详解
2018/06/08 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
Python实战购物车项目的实现参考
2019/02/20 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
Java多态性的定义以及类型
2014/09/16 面试题
应届大专毕业生个人自荐信
2013/09/22 职场文书
政风行风评议工作总结
2014/10/21 职场文书
餐饮食品安全责任书
2015/01/29 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript