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 相关文章推荐
页面中js执行顺序
Nov 09 Javascript
jQuery AnythingSlider滑动效果插件
Feb 07 Javascript
JS组件Form表单验证神器BootstrapValidator
Jan 26 Javascript
jQuery属性选择器用法示例
Sep 09 Javascript
浅谈js script标签中的预解析
Dec 30 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
Feb 08 Javascript
微信小程序自定义导航栏实例代码
Apr 05 Javascript
原生JS实现随机点名项目的实例代码
Apr 30 Javascript
JavaScript中var的重要性实例分析
Jul 09 Javascript
layui 实现table翻页滚动条位置保持不变的例子
Sep 05 Javascript
npm 语义版本控制详解
Sep 10 Javascript
解决在layer.open中使用时间控件laydate失败的问题
Sep 11 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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
PHP连接access数据库
2015/03/27 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
JavaScript中的对象的extensible属性介绍
2014/12/30 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
原生JS和jQuery操作DOM对比总结
2017/01/19 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
详解javascript中的babel到底是什么
2018/06/21 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
JavaScript基础之静态方法和实例方法分析
2018/12/26 Javascript
python 排列组合之itertools
2013/03/20 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
Python数组并集交集补集代码实例
2020/02/18 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
护士自荐信范文
2013/12/15 职场文书
本科生的职业生涯规划范文
2014/01/09 职场文书
2015年班干部工作总结
2015/04/29 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
python某漫画app逆向
2021/03/31 Python
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python
MySQL 开窗函数
2022/02/15 MySQL
LyScript实现绕过反调试保护的示例详解
2022/08/14 Python
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技