博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EasyUI笔记(五)表单
阅读量:6700 次
发布时间:2019-06-25

本文共 7584 字,大约阅读时间需要 25 分钟。

本系列只列出一些常用的属性、事件或方法,具体完整知识请查看API文档

Form(表单)

创建一个简单的HTML表单。构建一个包含id、action和method值的表单元素。
 
  1. <form id="ff" method="post">
  2. <div>
  3. <label for="name">Name:</label>
  4. <input class="easyui-validatebox" type="text" name="name" data-options="required:true" />
  5. </div>
  6. <div>
  7. <label for="email">Email:</label>
  8. <input class="easyui-validatebox" type="text" name="email" data-options="validType:'email'" />
  9. </div>
  10. ...
  11. </form>

属性

属性名 属性值类型 描述 默认值
url string 提交表单动作的URL地址 null

 

事件

事件名 参数 描述
onSubmit param 在提交之前触发,返回false可以终止提交。
success data 在表单提交成功以后触发。
onBeforeLoad param 在请求加载数据之前触发。返回false可以停止该动作。
onLoadSuccess data 在表单数据加载完成后触发。
onLoadError none 在表单数据加载出现错误的时候触发。

ValidateBox(验证框)

validatebox(验证框)的设计目的是为了验证输入的表单字段是否有效。如果用户输入了无效的值,它将会更改输入框的背景颜色,并且显示警告图标和提示信息。该验证框可以结合form(表单)插件并防止表单重复提交。

815947-20170708111649800-1762363036.png

通过标签创建验证框。

 
  1. <input id="vv" class="easyui-validatebox" data-options="required:true,validType:'email'" />
使用Javascript创建验证框。
 
  1. <input id="vv" />
 
  1. $('#vv').validatebox({
  2. required: true,
  3. validType: 'email'
  4. });
扩展规则
 
  1. $.extend($.fn.validatebox.defaults.rules,{
  2. equals:{
  3. validator:function(value,param){
  4. return value==param[0];
  5. },
  6. message:'不等于5。'
  7. }
  8. });
  9. $("#vv1").validatebox({
  10. required:true,
  11. //validType:'equals[5]',
  12. validType:'url',
  13. //delay:1000,
  14. missingMessage:'不能为空',
  15. invalidMessage:'请输入有效的网址。',
  16. });

Combo(自定义下拉框)

自定义下拉框显示一个可编辑的文本框和下拉面板在html页面。这是构建其他复杂的组合部件(如:combobox,combotree,combogrid等)之前需要构建的最基本的组件。

815947-20170708111650175-688997728.png

自定义下拉框使用Javascript创建一个<select>或<input>元素。注意:使用自定义下拉框不能通过标签的方式进行创建。

 
  1. <input id="combo-cc" >
  2. <div id="combo-content">
  3. <div style="color:blue">select a language</div>
  4. <input type="radio" name="language" value="1"><span>Java</span><br/>
  5. <input type="radio" name="language" value="2"><span>C#</span><br/>
  6. <input type="radio" name="language" value="3"><span>Ruby</span><br/>
  7. <input type="radio" name="language" value="4"><span>Basic</span><br/>
  8. <input type="radio" name="language" value="5"><span>Fortran</span><br/>
  9. </div>
这里用appendTo给下拉面板添加数据源;并在单选框的点击事件中给下拉框添加数据。
 
  1. $("#combo-cc").combo({
  2. required:true,
  3. multiple:true,
  4. //width:100,
  5. //height:60,
  6. separator:';',
  7. editable:true,
  8. //readonly:true,
  9. //hasDownArrow:false,
  10. delay:1000,
  11. });
  12. $("#combo-content").appendTo($("#combo-cc").combo("panel"));
  13. $("#combo-content input").click(function(){
  14. var v=$(this).val();
  15. var t=$(this).next("span").text();
  16. $("#combo-cc").combo("setValue",v).combo("setText",t).combo("hidePanel");
  17. });

方法

自定义下拉框的方法扩展自validatebox(验证框)。自定义下拉框新增的方法如下:

方法名 方法参数 描述
options none 返回属性对象。
panel none 返回下拉面板对象。
textbox none 返回文本框对象。
destroy none 销毁该组件。
resize width 调整组件宽度。
showPanel none 显示下拉面板。
hidePanel none 隐藏下拉面板。
disable none 禁用组件。
enable none 启用组件。
readonly mode 启用/禁用只读模式。(该方法自1.3.3版开始可用)

使用案例:

$('#cc').combo('readonly');		// 启用只读模式$('#cc').combo('readonly', true);	// 启用只读模式$('#cc').combo('readonly', false);	// 禁用只读模式
validate none 验证输入的值。
isValid none 返回验证结果。
clear none 清除控件的值。
reset none 重置控件的值。(该方法自1.3.2版开始可用)
getText none 获取输入的文本。
setText text 设置输入的文本。
getValues none 获取组件值的数组。
setValues values 设置组件值的数组。
getValue none 获取组件的值。
setValue value 设置组件的值。

ComboBox(下拉列表框)

下拉列表框显示一个可编辑文本框和下拉式列表,用户可以选择一个值或多个值。用户可以直接输入文本到列表顶部或选择一个或多个当前列表中的值。

815947-20170708111651222-1575578500.png

通过<select>元素创建一个预定义结构的下拉列表框。

 
  1. <select id="cc" class="easyui-combobox" name="dept" style="width:200px;">
  2. <option value="aa">aitem1</option>
  3. <option>bitem2</option>
  4. <option>bitem3</option>
  5. <option>ditem4</option>
  6. <option>eitem5</option>
  7. </select>
通过<input>标签创建下拉列表框。
 
  1. $("#combobox-cc2").combobox({
  2. url:'test.json',
  3. valueField:'id',
  4. textField:'text',
  5. //multiple:true,
  6. //separator:';'
  7. groupField:'type',
  8. groupFormatter:function(group){
  9. return '<span style="color:red">'+group+'</span>';
  10. }
  11. });

ComboTree(树形下拉框)

树形下拉框结合选择控件和下拉树控件。它与combobox(下拉列表框)类似,但是将下拉列表框的列表替换成了树形控件。该控件支持树状态复选框,方便多选操作。

815947-20170708111651659-339223642.png 
使用标签创建树形下拉框。
 
  1. <select id="combotree-cc1" class="easyui-combotree" style="width:200px;"
  2. data-options="url:'test.json',required:true"></select>

属性

树形下拉框属性扩展自combo(自定义下拉框)和tree(树形控件),树形下拉框重写的属性如下:

属性名 属性值类型 描述 默认值
editable boolean 定义用户是否可以直接输入文本到字段中。 false

 

 

 

 

事件

该控件的事件完全继承自combo(自定义下拉框)和tree(树形控件)。

ComboGrid(数据表格下拉框)

数据表格下拉框结合了可编辑文本框控件和下拉数据表格面板控件,该控件允许用户快速查找和选择,并且该控件提供了键盘导航支持,对行进行筛选。

815947-20170708111651940-1136873686.png

使用标签创建一个数据表格下拉框。

 
  1. <select id="cc" class="easyui-combogrid" name="dept" style="width:250px;"
  2. data-options="
  3. panelWidth:450,
  4. value:'006',
  5. idField:'code',
  6. textField:'name',
  7. url:'datagrid_data.json',
  8. columns:[[
  9. {field:'code',title:'Code',width:60},
  10. {field:'name',title:'Name',width:100},
  11. {field:'addr',title:'Address',width:120},
  12. {field:'col4',title:'Col41',width:100}
  13. ]]
  14. "></select>
使用Javascript通过已经定义的<select>或<input>标签来创建数据表格下拉框。
 
  1. $('#cc').combogrid({
  2. panelWidth:450,
  3. value:'006',
  4. idField:'code',
  5. textField:'name',
  6. url:'datagrid_data.json',
  7. columns:[[
  8. {
    field:'code',title:'Code',width:60},
  9. {
    field:'name',title:'Name',width:100},
  10. {
    field:'addr',title:'Address',width:120},
  11. {
    field:'col4',title:'Col41',width:100}
  12. ]]
  13. });

NumberBox(数值输入框)

数值输入框是用来限制用户只能输入数值型数据的。他可以转换一个输入的元素到其他类型,比如:数字、百分比、货币等。更多的输入类型定义依赖于'formatter'和'parser'函数。

815947-20170708111652987-2053168572.png

使用标签创建数值输入框。

 
  1. <input type="text" class="easyui-numberbox" value="100" data-options="min:0,precision:2"></input>
使用Javascript创建数值输入框。
 
  1. $('#nn').numberbox({
  2. min:0,
  3. precision:2
  4. });

属性

数值输入框的属性扩展自validatebox(验证框),数值输入框新增的属性如下:

属性名 属性值类型 描述 默认值
disabled boolean 是否禁用该字段。 false
value number 默认值。
min number 允许的最小值。 null
max number 允许的最大值。 null
precision number 在十进制分隔符之后显示的最大精度。(即小数点后的显示精度) 0
decimalSeparator string 使用哪一种十进制字符分隔数字的整数和小数部分。 .
groupSeparator string 使用哪一种字符分割整数组,以显示成千上万的数据。(比如:99,999,999.00中的','就是该分隔符设置。)
prefix string 前缀字符。(比如:金额的$或者¥)
suffix string 后缀字符。(比如:后置的欧元符号€)
filter function(e) 定义如何过滤按键,当返回true时则允许输入,反之禁止。(该属性自1.3.3版开始可用)
formatter function(value) 用于格式化数值的函数。返回字符串值以显示到输入框中。
parser function(s) 用于解析字符串的函数。返回数值。

DateBox(日期输入框)

日期输入框结合了一个可编辑的文本框控件和允许用户选择日期的下拉日历面板控件。选择的日期会自动转变为一个有效的日期然后填充到文本框中。选定的日期也可以被格式化为预定格式。

815947-20170708111653331-1938597100.png
使用标签创建日期输入框。
 
  1. <input id="dd" type="text" class="easyui-datebox" required="required"></input>
使用Javascript创建日期输入框。
 
  1. $('#dd').datebox({
  2. required:true
  3. });

属性

日期输入框扩展自combo(自定义下拉框),日期输入框新增的属性如下:

属性名 属性值类型 描述 默认值
panelWidth number 下拉日历面板宽度。 180
panelHeight number 下拉日历面板高度。 auto
currentText string 显示当天按钮。 Today
closeText string 显示关闭按钮。 Close
okText string 显示OK按钮。 Ok
disabled boolean 该属性值为true时禁用该字段。 false
buttons array 在日历下面的按钮。(该属性自1.3.5版开始可用)

代码示例:

var buttons = $.extend([], $.fn.datebox.defaults.buttons);buttons.splice(1, 0, {	text: 'MyBtn',	handler: function(target){		alert('click MyBtn');	}});$('#dd').datebox({	buttons: buttons});
sharedCalendar string,selector 将一个日历控件共享给多个datebox控件使用。(该属性自1.3.5版开始可用)

代码示例:

null
formatter function 该函数用于格式化日期,它有一个'date'参数并且会返回一个字符串类型的值。下面的一个例子展示了如何重写默认的formatter函数。
$.fn.datebox.defaults.formatter = function(date){	var y = date.getFullYear();	var m = date.getMonth()+1;	var d = date.getDate();	return m+'/'+d+'/'+y;}
parser function 该函数用于解析一个日期字符串,它有一个'date'字符串参数并且会返回一个日期类型的值。下面的一个例子展示了如何重写默认的parser函数。
$.fn.datebox.defaults.parser = function(s){	var t = Date.parse(s);	if (!isNaN(t)){		return new Date(t);	} else {		return new Date();	}}

DateTimeBox(日期时间输入框)

和日期输入框类似,日期时间输入框允许用户选择日期和指定的时间并按照指定的输出格式显示。相比日期输入框,它在下拉面板中添加了一个时间微调器。

815947-20170708111653675-1686896282.png
使用标签创建日期时间输入框。
 
  1. <input class="easyui-datetimebox" name="birthday"
  2. data-options="required:true,showSeconds:false" value="3/4/2010 2:3" style="width:150px">
使用Javascript创建日期时间输入框。
 
  1. $('#dt').datetimebox({
  2. value: '3/4/2010 2:3',
  3. required: true,
  4. showSeconds: false
  5. });

Calendar(日历)

日历控件显示一个月的日历,允许用户选择日期和移动到下一个或上一个月。默认情况下,一周的第一天是周日。它可以通过设置'firstDay'属性的值来更改设置。

815947-20170708111654050-1334039688.png
使用标签创建日历。
 
  1. <div id="cc" class="easyui-calendar" style="width:180px;height:180px;"></div>
使用Javascript创建日历。
 
  1. <div id="cc" style="width:180px;height:180px;"></div>
 
  1. $('#cc').calendar({
  2. current:new Date()
  3. });

转载于:https://www.cnblogs.com/iwsx/p/7136199.html

你可能感兴趣的文章
小程序 公众号/h5相互跳转-webview
查看>>
AaronYang WCF教程目录
查看>>
Python 3.5.2 TypeError: a bytes-like object is required, not 'str’问题解决方案
查看>>
Android中SimpleAdapter的使用—自定义列表
查看>>
Java常见Jar包的用途
查看>>
P1616 疯狂的采药(洛谷,动态规划递推,完全背包)
查看>>
DAL调用SP时出现的异常处理
查看>>
javascript学习(11)——[设计模式]工厂模式
查看>>
【转】Linux 下修改Tomcat使用的JVM内存大小
查看>>
xcode 开发ios兼容性问题的上下黑边 和 coco2d-x 游戏分辨率适配 ResolutionPolicy::FIXED_WIDTH 都会引起上下黑边问题!!!...
查看>>
编程之美-第3章 结构之法
查看>>
makefile——小试牛刀
查看>>
bzoj 1084 DP
查看>>
wordpress教程:默认http头信息X-Pingback的隐藏与修改
查看>>
排序_3
查看>>
Python中的join()函数的用法
查看>>
2、Sprite,SpriteBatch,Texture,TextureRegion的初步认识
查看>>
LeetCode 7. Reverse Integer
查看>>
STM32Flash读写
查看>>
POJ——字符串插入
查看>>