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自己写tab滑动门(通用版)
Oct 30 Javascript
JS中令人发指的valueOf方法介绍
Feb 22 Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
May 03 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
Jul 09 Javascript
js获取html文件的思路及示例
Sep 17 Javascript
JavaScript中的值类型转换介绍
Dec 31 Javascript
vue省市区三联动下拉选择组件的实现
Apr 28 Javascript
js实现省市级联效果分享
Aug 10 Javascript
对vue中methods互相调用的方法详解
Aug 30 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
Sep 07 jQuery
微信小程序实现日历效果
Dec 28 Javascript
详解vue3中组件的非兼容变更
Mar 03 Vue.js
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读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
JQuery 选择器、过滤器介绍
2011/02/14 Javascript
非主流的textarea自增长实现js代码
2011/12/20 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
2019/11/01 jQuery
layui清除radio的选中状态实例
2019/11/14 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
vue实现的多页面项目如何优化打包的步骤详解
2020/07/19 Javascript
全面理解Python中self的用法
2016/06/04 Python
Python如何实现文本转语音
2016/08/08 Python
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
pycharm安装和首次使用教程
2018/08/27 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
Python对称的二叉树多种思路实现方法
2020/02/28 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
HTML5 canvas画矩形时出现边框样式不一致的解决方法
2013/10/14 HTML / CSS
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
合作协议书范文
2014/08/20 职场文书
工会工作个人总结
2015/03/03 职场文书
岗位聘任协议书
2015/09/21 职场文书
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android