Struts2+Spring2.5+Hibernate3(JPA)+ExtJS3基本后台
将ExtJS替换为3..2版本后发现下拉数有些异常:之前展开下来树的下级节点时,下拉菜单不会关掉。但是在3.2版本中无论你在弹出的选择框中点击任何部分,包括选中节点、点击空白处以及点击展开下级节点,弹出框都会自动关闭。查看源代码发现有一部分代码的修改比较困惑:
3.1版本中Combo.js的部分代码
onViewClick : function(doFocus){
var index = this.view.getSelectedIndexes()[0],
s = this.store,
r = s.getAt(index);
if(r){
this.onSelect(r, index);
}else if(s.getCount() === 0){
this.onEmptyResults();
}
if(doFocus !== false){
this.el.focus();
}
},
onEmptyResults : function(){
this.collapse();
},
3.2版本中Combo.js的部分代码
onViewClick : function(doFocus){
var index = this.view.getSelectedIndexes()[0],
s = this.store,
r = s.getAt(index);
if(r){
this.onSelect(r, index);
}else {
this.collapse();
}
if(doFocus !== false){
this.el.focus();
}
},
相比之下这里没有进行if(s.getCount() === 0)的比较,貌似这个是判断store是否存在记录的。个人感觉这应该是3.2的一个Bug。因此修改ExtJS3 下拉树TreeComboBox的修改
在代码中增加
// 修复ExtJS3.2中自动关闭下来树的Bug
Ext.override(Ext.form.ComboBox, {
onViewClick : function(doFocus) {
var index = this.view.getSelectedIndexes()[0], s = this.store, r = s.getAt(index);
if (r) {
this.onSelect(r, index);
} else if (s.getCount() === 0) {
this.collapse();
}
if (doFocus !== false) {
this.el.focus();
}
}
});
分享到:
相关推荐
ExtJS 3.2通常包含一个名为`ext.jsb`的文件,这个文件是Spket识别ExtJS库的关键。接下来,按照以下步骤安装Spket插件: 1. **以Eclipse插件形式安装**: - 打开Eclipse,通过菜单栏依次选择`Help` -> `Software ...
### ExtJS4 下拉树组件知识点详解 #### 一、概述 在ExtJS4中,下拉树组件(TreeComboBox)是一种特殊的组合框,它结合了下拉列表和树形结构的功能,允许用户通过选择树节点来填充组合框的值。这种组件广泛应用于...
### ExtJS 3.2 的中文参考手册知识点详解 #### 1. **EXT简介** - **定位**: 作为一款强大的JavaScript框架,ExtJS主要用于构建Web应用程序的用户界面。ExtJS 3.2版本是一个成熟且稳定的版本,在此版本中包含了丰富...
EXTJS还提供了`picker`属性,用于创建一个下拉的时间选择器。默认情况下,这个选择器不会显示秒,但我们可以通过覆盖其配置来实现。例如,我们可以添加`showSeconds: true`来展示秒部分: ```javascript Ext....
在ExtJS 3.2版本中,该库提供了丰富的组件和布局管理,包括但不限于以下核心概念: 1. **组件(Components)**: ExtJS的核心是其组件模型,允许开发者创建复杂的UI元素,如表格、表单、树形视图、面板、窗口等。...
"dropdown_ExtJS32_Net2"可能是使用ExtJS 3.2和ASP.NET 2.0的项目;"Downmoon.Framewrok"可能是一个自定义的框架或库;"dropdown_Ajax_Net2"和"dropdown_JQuery14_Net2"则分别对应ASP.NET 2.0下的Ajax和jQuery实现。...
3.2 创建第一个程序 3.2.1 下载ExtJS 3.2.2 部署到开发工具中 3.2.3 编写HelloWorld.html 3.2.4 运行调试ExtJS 3.3 辅助开发 3.3.1 调试工具Firebug 3.3.2 开发利器Spket 第4章 ExtJS事件机制 4.1 设计模式...
- **表单(Form)**:包含多种输入控件,如文本框、下拉列表等。 **3.2 事件管理** - **用户交互事件**:如点击、双击、悬停等。 - **系统事件**:如AJAX请求的开始、完成、失败等。 **3.3 AJAX与异步数据交换** ...
3.2 创建第一个程序 3.2.1 下载ExtJS 3.2.2 部署到开发工具中 3.2.3 编写HelloWorld.html 3.2.4 运行调试ExtJS 3.3 辅助开发 3.3.1 调试工具Firebug 3.3.2 开发利器Spket 第4章 ExtJS事件机制 4.1 设计模式...
- **表单组件**:ExtJS 包含了大量的表单组件,如文本框、复选框、下拉列表等,这些组件均支持验证规则的设置。 - **实例代码**: ```javascript Ext.create('Ext.form.Panel', { title: 'Login Form', items: ...
**3.2 ExtJS 常用组件的继承关系及其管理** ExtJS 提供了大量的 UI 组件,每个组件都有其特定的功能。组件之间的继承关系使得某些通用功能(如事件处理)可以在父类中实现,从而减少代码重复。 **3.3 Ext....
**3.2 实现方式** - **提示框**: `Ext.Msg.alert('Title', 'Message')`。 - **输入框**: `Ext.Msg.prompt('Title', 'Message', function(btn, value){})`。 - **确认框**: `Ext.Msg.confirm('Title', 'Message', ...
<link id="theme" rel="stylesheet" type="text/css" href="ext/2.0/resources/css/xtheme-default.css" />2、定义一个combox,将可选样式作为数据源填入下拉列表: 定义样式数据 Ext.simpledata.themes = [ ['...
9.1. 下拉树形选择框TreeField 9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid A. 常见问题乱弹 A.1. 怎么查看ext2里的api文档 A.2. 想把弹出对话框单独拿出来用的看这里 A.3. 想把...
在EXTJS中,ComboBox是基于Ext.form.field.ComboBox类创建的,通常用于显示一个可搜索的下拉列表。多选功能则是通过扩展ComboBox的基本行为来实现的。这可能涉及到监听用户的交互事件,如点击或键盘操作,以及处理...
9.1. 下拉树形选择框TreeField 9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页...
- 选择 “ExtJS”,点击 `Add Library`,在下拉列表中选择 “ExtJS”。 - 再次选择 “ExtJS”,点击 `Add File`,在本地 ./ext-2.x/source 目录中选取 `ext.jsb` 文件。 3. **设置默认 ExtJS Profile**: - 选择...
9.1. 下拉树形选择框TreeField 9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页...
7.5.11 树节点:ext.data.nodeinterface与ext.data.tree / 364 7.5.12 store的方法 / 366 7.5.13 store的事件 / 368 7.5.14 store管理器:ext.data.storemanager / 369 7.6 综合实例 / 369 7.6.1 远程读取json...