Spinner 小组件添加版本:1.9
描述:增强文本输入以输入数字值,并带有向上/向下按钮和箭头键处理。
Spinner 或数字步进器小组件非常适合处理各种数字输入。它允许用户直接键入值,或通过使用键盘、鼠标或滚轮旋转来修改现有值。当与 Globalize 结合使用时,你甚至可以在各种区域设置中旋转货币和日期。
Spinner 用两个按钮包装文本输入以增加和减少当前值。添加了按键事件,以便可以使用键盘完成相同的增加和减少操作。Spinner 委托给 Globalize 进行数字格式化和解析。
键盘交互
-
向上
:将值增加一步。 -
向下
:将值减少一步。 -
向上翻页
:将值增加一页。 -
PAGE DOWN
:将值减少一页。
即使使用鼠标单击其中一个旋转按钮后,焦点仍停留在文本字段中。
当旋转器不可读写 (<input readonly>
) 时,用户可能会输入导致无效值(低于最小值、高于最大值、步长不匹配、非数字输入)的文本。每当执行一步(通过编程方式或通过步长按钮),值将强制变为有效值(有关更多详细信息,请参阅 stepUp()
和 stepDown()
的说明)。
主题
旋转器小部件使用 jQuery UI CSS 框架 来设置其外观和感觉。如果需要旋转器特定样式,可以使用以下 CSS 类名称进行覆盖,或作为 classes
选项 的键
-
ui-spinner
:旋转器的外部容器。-
ui-spinner-input
:Spinner 小部件实例化的<input>
元素。 -
ui-spinner-button
:用于增大或减小旋转器值的按钮控件。向上按钮还将具有ui-spinner-up
类,而向下按钮还将具有ui-spinner-down
类。
-
依赖项
其他说明
- 此小部件需要一些功能性 CSS,否则它将不起作用。如果您构建自定义主题,请使用小部件的特定 CSS 文件作为起点。
-
此小部件以编程方式操作其元素的值,因此当元素的值更改时,可能不会触发本机
change
事件。 -
由于与本机旋转器的 UI 冲突,不支持在
<input type="number">
上创建旋转器。
选项
classes
|
指定要添加到小部件元素的其他类。可以在 主题部分 中指定的任何类都可以用作键来覆盖其值。要了解有关此选项的更多信息,请查看有关 classes
选项 的学习文章。
使用指定的 classes
选项初始化旋转器,更改 ui-spinner
类的主题
1
2
3
4
5
|
|
在初始化后获取或设置 classes
选项的属性,在此处读取和更改 ui-spinner
类的主题
1
2
3
4
5
|
|
culture
null
null
,则使用 Globalize
中当前设置的文化,有关可用文化,请参阅 Globalize 文档。仅当设置了 numberFormat
选项时才相关。需要包含 Globalize。使用指定的 culture
选项初始化微调器
1
2
3
|
|
在初始化后获取或设置 culture
选项
1
2
3
4
5
|
|
disabled
false
true
,则禁用微调器。使用指定的 disabled
选项初始化微调器
1
2
3
|
|
在初始化后获取或设置 disabled
选项
1
2
3
4
5
|
|
icons
{ down: "ui-icon-triangle-1-s", up: "ui-icon-triangle-1-n" }
- up(字符串,默认值:“ui-icon-triangle-1-n”)
- down(字符串,默认值:“ui-icon-triangle-1-s”)
使用指定的 icons
选项初始化微调器
1
2
3
|
|
在初始化后获取或设置 icons
选项
1
2
3
4
5
|
|
incremental
true
-
布尔值:当设置为
true
时,连续微调时步长增量将增加。当设置为false
时,所有步长相等(由step
选项定义)。 - 函数:接收一个参数:已发生的微调次数。必须返回当前微调应执行的步数。
使用指定的 incremental
选项初始化微调器
1
2
3
|
|
在初始化后获取或设置 incremental
选项
1
2
3
4
5
|
|
max
null
max
属性,并且未明确设置选项,则使用该属性。如果为 null
,则不强制执行最大值。- 数字:最大值。
-
字符串:如果包含 Globalize,则可以将
max
选项传递为字符串,该字符串将根据numberFormat
和culture
选项进行解析;否则,它将回退到本机parseFloat()
方法。
使用指定的 max
选项初始化微调器
1
2
3
|
|
在初始化后获取或设置 max
选项
1
2
3
4
5
|
|
min
null
min
属性,则使用该属性,并且未明确设置选项。如果为 null
,则不强制执行最小值。- 数字:最小值。
-
字符串:如果包含 Globalize,则
min
选项可以作为字符串传递,该字符串将根据numberFormat
和culture
选项进行解析;否则,它将退回到本机parseFloat()
方法。
使用指定的 min
选项初始化微调器
1
2
3
|
|
在初始化后获取或设置 min
选项
1
2
3
4
5
|
|
numberFormat
null
使用指定的 numberFormat
选项初始化微调器
1
2
3
|
|
在初始化后获取或设置 numberFormat
选项
1
2
3
4
5
|
|
page
10
使用指定的 page
选项初始化微调器
1
2
3
|
|
在初始化后获取或设置 page
选项
1
2
3
4
5
|
|
step
1
- 数字:步骤大小。
-
字符串:如果包含 Globalize,则
step
选项可以作为字符串传递,该字符串将根据numberFormat
和culture
选项进行解析,否则,它将退回到本机parseFloat
。
使用指定的 step
选项初始化微调器
1
2
3
|
|
在初始化后获取或设置 step
选项
1
2
3
4
5
|
|
方法
instance()返回:Object
检索微调器的实例对象。如果元素没有关联的实例,则返回 undefined
。
与其他小部件方法不同,在微调器插件加载后,instance()
可以安全地调用任何元素。
- 此方法不接受任何参数。
调用 instance 方法
1
|
|
option( optionName )返回:Object
获取当前与指定的 optionName
关联的值。
注意:对于以对象作为其值的选择,您可以使用点表示法获取特定键的值。例如,"foo.bar"
将获取 foo
选项上 bar
属性的值。
-
optionName类型:String要获取的选项的名称。
调用该方法
1
|
|
option()返回:PlainObject
- 此签名不接受任何参数。
调用该方法
1
|
|
value()返回:数字
numberFormat
和 culture
选项进行解析。- 此签名不接受任何参数。
调用该方法
1
|
|
widget()返回:jQuery
jQuery
对象。
- 此方法不接受任何参数。
调用 widget 方法
1
|
|
扩展点
微调器小组件是使用 小组件工厂 构建的,并且可以进行扩展。在扩展小组件时,您可以覆盖或添加到现有方法的行为。以下方法作为扩展点提供,与上面列出的 插件方法 具有相同的 API 稳定性。有关小组件扩展的更多信息,请参阅 使用小组件工厂扩展小组件。
_uiSpinnerHtml()返回:字符串
<input>
元素的 HTML 的方法。
- 此方法不接受任何参数。
使用没有圆角的 <div>
包装微调器。
1
2
3
|
|
事件
change( event, ui )类型:spinchange
注意:ui
对象为空,但出于与其他事件的一致性而包含在内。
使用指定的 change 回调初始化微调器
1
2
3
|
|
将事件侦听器绑定到 spinchange 事件
1
|
|
create( event, ui )类型:spincreate
注意:ui
对象为空,但出于与其他事件的一致性而包含在内。
使用指定的创建回调初始化旋转器
1
2
3
|
|
将事件侦听器绑定到 spincreate 事件
1
|
|
spin( event, ui )类型:spin
ui.value
进行比较)。
可以取消,防止更新值。
使用指定的 spin 回调初始化旋转器
1
2
3
|
|
将事件侦听器绑定到 spin 事件
1
|
|
start( event, ui )类型:spinstart
注意:ui
对象为空,但出于与其他事件的一致性而包含在内。
使用指定的 start 回调初始化旋转器
1
2
3
|
|
将事件侦听器绑定到 spinstart 事件
1
|
|
范例
纯数字旋转器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
|