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 相关文章推荐
javascript中的几个运算符
Jun 29 Javascript
按钮接受回车事件的三种实现方法
Jun 06 Javascript
修改或扩展jQuery原生方法的代码实例
Jan 13 Javascript
浅析node连接数据库(express+mysql)
Nov 30 Javascript
基于JavaScript实现动态创建表格和增加表格行数
Dec 20 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
Jan 12 Javascript
简单解析JavaScript中的__proto__属性
May 10 Javascript
JQueryEasyUI之DataGrid数据显示
Nov 23 Javascript
AngularJs定时器$interval 和 $timeout详解
May 25 Javascript
详解Angular.js中$http拦截器的介绍及使用
Jul 04 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
Jun 19 Javascript
vue如何限制只能输入正负数及小数
Jul 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 AJAX实例根据邮编自动完成地址信息
2008/11/23 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
JS之相等操作符详解
2016/09/13 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
2017/12/06 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
layui+jquery支持IE8的表格分页方法
2019/09/28 jQuery
python实现无证书加密解密实例
2014/10/27 Python
浅析Python的Django框架中的Memcached
2015/07/23 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
python编写分类决策树的代码
2017/12/21 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
深入了解python列表(LIST)
2020/06/08 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
会计系个人求职信范文分享
2013/12/20 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
请假条格式范文
2014/04/10 职场文书
会议室标语
2014/06/21 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python