我们继续,现在需要加入一个学历的下拉选择控件。下拉选择控件最重要的一个定义就是数据的定义的,数据定义错误,可能得不到我们需要的效果,也是很多朋友感觉最麻烦的地方
{
columnWidth:.5,
layout:
'form',
border:false,
items:
[{
xtype:'combo',
store: new Ext
.data.SimpleStore(
{
fields:
["retrunValue", "displayText"],
data: [[1,'
小学
'],[2,'
初中
'],[3,'
高中
'],[4,'
中专
'],[5,'
大专
'],[6,'
大学
']]
}),
valueField
:"retrunValue",
displayField:
"displayText",
mode:
'local',
forceSelection:
true,
blankText:'
请选择学历
',
emptyText:'
选择学历
',
hiddenName:'education',
editable:
false,
triggerAction:
'all',
allowBlank:false,
fieldLabel:
'
学历
',
name:
'education',
anchor:'90%'
}]
}
列的定义就不说了,没变化。在
items
里,类型设置成
combo
了,在这里定义了一个
sotre
属性,就是选择值存储的地方,因为是在客户端的数据,所以使用了一个简单存储(
SimpleStore
)。在存储里,我们通过一个数组定义了
retrunValue
和
displayText
两个字段。
retrunValue
字段指定是提交给后台的值,
displayText
字段指定是在下拉中显示的选择值。然后我们在
data
里定义了几组数据(
data: [[1,'
小学
'],[2,'
初中
'],[3,'
高中
'],[4,'
中专
'],[5,'
大专
'],[3,'
大学
']]
),我们可以看到,每组数据都是根据
fiedls
的定义来组成的,数组里第一个值就是
retrunValue
的值,第二个值就是
displayText
的值,例如
[1,'
小学
']
,就表示
retrunValue
是
1
,
displayText
是小学。
下面就是很重要的一步了,设置下拉选择框的值和显示文本。本例中设置了下拉选择框的提交值对象
的是存储中的
retrunValue
字段(
valueField :"retrunValue"
),显示文本是存储中的
displayText
字段(
displayField: "displayText"
),通过这两个设置就可将存储中的数据和下拉框对应起来。
因为数据是在本地,所以设置了模式为
local
(
mode: 'local'
)。该下拉列表只允许选择,不允许输入(
editable:
false
),而且是必须选择一个选项(
forceSelection: true
)。在没有选择值时显示为选择学历(
emptyText:'
选择学历
'
)。提交
form
时,该项如果没有选择,则提示错误信息“请选择学历”(
blankText:'
请选择学历
'
)。该选项值不允许为空(
allowBlank:false
)。大家要注意的是hiddenName和
name属性,
name只是改下拉的名称,作用是可通过,而
hiddenName才是提交到后台的
input的
name。如果没有设置
hiddenName,在后台是接收不到结构的,这个大家一定要注意。
因为这个下拉是只能选择的,所以一定要设置属性
triggerAction
为
all
,不然当你选择了某个选项后,你的下拉将只会出现匹配选项值文本的选择项,其它选择项是不会再显示了,这样你就不能更改其它选项了。
如果要为控件设置默认值,就设置属性
value
,
value
的值要设置为提交给后台的值,不要设置为显示文本。例如本例要设置大学为默认值得,则设置
value
的值为
6
。
现在到第三行了,我们要创建一个
checkbox
选项输入:
{
columnWidth:.35,
layout:
'form',
border:false,
items:
[{
xtype:'checkbox',
fieldLabel:
'
权限组
',
boxLabel:'
系统管理员
',
name:
'popedom',
inputValue:'1',
anchor:'95%'
}]
},{
columnWidth:.2,
layout:
'form',
labelWidth:0,
labelSeparator:'',
hideLabels:true,
border:false,
items:
[{
xtype:'checkbox',
fieldLabel:
'',
boxLabel:'
管理员
',
name:
'pepedom',
inputValue:'2',
anchor:'95%'
}]
},{
columnWidth:.2,
layout:
'form',
labelWidth:0,
labelSeparator:'',
hideLabels:true,
border:false,
items:
[{
xtype:'checkbox',
fieldLabel:
'',
boxLabel:'
普通用户
',
name:
'pepedom',
inputValue:'3',
anchor:'95%'
}]
},{
columnWidth:.25,
layout:
'form',
labelWidth:0,
labelSeparator:'',
hideLabels:true,
border:false,
items:
[{
xtype:'checkbox',
fieldLabel:
'',
boxLabel:'
访客
',
name:
'pepedom',
inputValue:'4',
anchor:'95%'
}]
}
checkbox
的设置和
radio
的设置大同小异,大家注意列宽的定义就行。
分享到:
相关推荐
在EXTJS框架中,`Ext.FormPanel`和`Ext.Ajax.request`提供了两种不同的异步提交方法,它们各自有其特点和适用场景。下面我们将详细探讨这两种方式的区别。 1. **Ext.FormPanel的异步提交** `Ext.FormPanel` 是...
首先,Ext.FormPanel是ExtJS中用于创建表单的主要组件,它允许我们构建复杂的表单布局并处理用户输入的数据。 1. **Checkbox简单示例** Checkbox在ExtJS中用于创建复选框,可以用来让用户选择多个选项。在示例中,...
1. `form`:`Ext.FormPanel`是EXT JS中的表单面板,它是一个容器,可以容纳各种表单字段和其他组件。表单面板允许你定义布局、提交行为以及处理表单数据的方法。 2. `checkbox`:`Ext.form.Checkbox`是用于创建复选...
在这个例子中,通过`new Ext.FormPanel`来创建了一个表单面板,并设置了一些关键属性: - `frame`: 设置为`true`,表示表单周围有一个边框。 - `width` 和 `height`: 分别设置了表单的宽度和高度。 - `layout`: ...
【EXTJS】Ext.AJAX与FormPanel在登录案例中的应用 EXTJS是一个强大的JavaScript库,主要用于构建富客户端Web应用程序。在EXTJS中,Ext.AJAX和Ext.FormPanel是两个核心组件,它们分别用于异步与服务器进行数据交互和...
**2.16 Form Panel (Ext.FormPanel)** - **xtype**: `form` - **功能描述**:Form Panel 是一个包含表单字段的面板。 - **主要用途**:用于创建和管理表单,支持数据验证和提交。 **2.17 Checkbox (Ext.form....
3. **定义列模型(ColumnModel)**: 在GridPanel中,你需要定义列模型来展示数据。对于日期列,你可以使用`renderer`来指定一个日期格式化函数。例如: ```javascript var cm = new Ext.grid.ColumnModel({ ...
- `form`:`Ext.FormPanel` 或 `Ext.form.FormPanel`,用于创建表单的容器。 - `checkbox`:`Ext.form.Checkbox`,多选框组件。 - `combo`:`Ext.form.ComboBox`,下拉选择框。 - `datefield`:`Ext.form....
- **Form Components**: 用于构建表单的组件,如`Ext.FormPanel`,`Ext.form.Checkbox`,`Ext.form.TextField`等。 - **Chart Components**: 提供了各种图表组件,如`Ext.chart.Chart`,`Ext.chart.BarChart`,`Ext....
接下来将详细介绍文档中提到的几个核心概念,包括`Ext.MessageBox`、`Ext.Panel`、`Ext.Window`、`Ext.FormPanel`、`Ext.TabPanel`、`Ext.XTemplate`和`Ext.TreePanel`以及如何在Extjs中实现主题(换肤)功能。...
Form组件,即`Ext.form.FormPanel`,用于创建和管理表单数据。它可以包含各种输入控件,如文本字段、复选框、下拉列表等。表单数据可以方便地提交到服务器,或者与数据存储进行双向绑定。下面是一个创建简单表单的...
在Ext中,我们可以使用`Ext.form.FormPanel`来定义表单,并通过`Ext.form.FileField`(也称为`FileUploadField`)添加文件选择功能。此字段允许用户选择一个或多个文件,并触发上传操作。 `说明.txt`文件可能包含了...
在 Ext.js 中,可以使用 FormPanel 的 validate 事件来实现用户名验证机制。在 FormPanel 中,可以使用 validator 函数来检测用户输入的用户名是否已经存在于数据库中。 在上面的代码中,我们可以看到使用了 Ext....
var formPanel = Ext.create('Ext.container.Container', { layout: 'fit', items: [treeCombo] }); Ext.create('Ext.container.Viewport', { layout: 'fit', items: [formPanel] }); } }); ``` 在给定的...
this.formpanel = new Ext.FormPanel({ items: [{ fieldLabel: ‘代码’, name: ‘FCode’, anchor:’100%’, id: ‘fid’ },{ fieldLabel: ‘名称’, name: ‘FName’, anchor:’100%’ // anchor width by ...
var form = new Ext.form.FormPanel({ title: ' 用户登录 ', frame: true, items: [textfield], renderTo: document.body }); ``` 方法二是直接在FormPanel配置中定义items,像这样: ```javascript var form ...
为了创建一个UploadDialog,你可以使用`Ext.window.Window`或`Ext.container.Viewport`来创建一个弹出窗口,里面包含一个`Ext.form.FormPanel`,并在其中添加`FileField`。当用户选择文件并点击提交按钮时,ExtJS会...