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 相关文章推荐
文本框水印提示效果的简单实现代码
Feb 22 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
Feb 10 Javascript
直接拿来用的15个jQuery代码片段
Sep 23 Javascript
一道JS前端闭包面试题解析
Dec 25 Javascript
IE8兼容Jquery.validate.js的问题
Dec 01 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
May 30 Javascript
vue实现键盘输入支付密码功能
Aug 18 Javascript
bootstrap table合并行数据并居中对齐效果
Oct 17 Javascript
详解vue移动端项目代码拆分记录
Mar 15 Javascript
详解jQuery中的getAll()和cleanData()
Apr 15 jQuery
jQuery+ajax实现批量删除功能完整示例
Jun 06 jQuery
js用正则表达式筛选年月日的实例方法
Jan 04 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.MVC的模板标签系统(三)
2006/09/05 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
PHP中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&amp;”)
2016/12/23 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
ionic环境配置及问题详解
2017/06/27 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
2019/07/25 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
[00:34]拔城逐梦,热血永恒!2020(秋)完美世界城市挑战赛报名开启
2020/10/09 DOTA
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
python实现FTP服务器服务的方法
2017/04/11 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
营销与策划专业毕业生求职信
2013/11/01 职场文书
舞蹈教育学专业推荐信
2013/11/27 职场文书
酒店前厅员工辞职信
2014/01/08 职场文书
高校十八大报告感想
2014/01/27 职场文书
《梅花魂》教学反思
2014/04/30 职场文书
奥巴马就职演讲稿
2014/05/15 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
高中运动会前导词
2015/07/20 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
如何书写授权委托书?
2019/06/25 职场文书