# Class: NumberBox

## F. NumberBox

#### new F.NumberBox(options)

form/F.NumberBox.js, line 3
  数字输入框控件

  Name | Type | Description
  --- | --- | ---
  `options` | Object | 初始参数
  Name | Type | Default | Description
  --- | --- | --- | ---
  `noDecimal` | boolean | false | 禁止输入小数（默认允许小数）
  `noNegative` | boolean | false | 禁止输入负数（默认允许负数）
  `minValue` | number |  | 最小值
  `maxValue` | number |  | 最大值
  `decimalPrecision` | number | 2 | 允许小数时显示精度（小数点后的位数）
  `increment` | number | 1 | 每次增加或减少的数值
  `commas` | boolean | false | 是否启用千分位
  `round` | boolean | true | 是否启用四舍五入
  `trimEndZero` | boolean | true | 是否去除小数位后面的零
  `dotSeparator` | string | '.' | 小数分隔符（默认为点号）
  `commaSeparator` | string | ',' | 千分位分隔符（默认为逗号）
  `numberPrefix` | string | '' | 数字前缀
  `numberSuffix` | string | '' | 数字后缀
  `displayType` | string | 'default' | 数字输入框的显示类型（default, progress, rate）
  `progressHeight` | number |  | 进度条的高度
  `progressTextVisible` | boolean | false | 是否显示进度条文本
  `progressTextInside` | boolean | false | 是否将进度条文本显示在进度条内部
  `rateAllowClear` | boolean | true | 是否允许通过点击来清除评分
  `rateAllowHalf` | boolean | false | 是否允许半星评分
  `rateIconFont` | string | '' | 评分图标字体
  `rateIconFontCls` | string | '' | 自定义评分图标字体的样式类
  `rateCharacter` | string | '' | 自定义评分字符
  `rateCount` | number | 5 | 评分图标的个数
  `rateTextVisible` | boolean | false | 是否显示评分文本
  `rateTextRenderer` | function |  | 自定义评分文本的渲染函数
  `triggerType` | string | 'stack' | 数字输入框触发图标的类型（stack, tile, separate）
  `type` | string | 'numberbox' | 控件类型

### Extends

- F.TriggerBox

### Members

#### bodyEljQuery

  字段主体对应的jQuery节点对象

#### eljQuery

  控件对应的jQuery节点对象

#### itemsObject

  子控件列表

### Methods

#### inherited add(value)

F.Container.js, line 55
  添加新的子控件到当前控件

  Name | Type | Description
  --- | --- | ---
  `value` | Object | Array.<Object> | 控件实例数组

  ##### Example

      menu1.add(['-', {
      		type: 'menuitem',
      		text: '新菜单项'
      }]);

#### inherited blur()

form/F.Field.js, line 87
  取消焦点

#### inherited clearDirty()

form/F.Field.js, line 138
  清空已改变状态（接受当前已改变的值）

#### inherited clearInvalid()

form/F.TriggerBox.js, line 105
  清空无效标记

#### inherited clearValue()

form/F.Field.js, line 73
  清空值

#### inherited disable()

form/F.TextBox.js, line 61
  禁用控件

#### inherited doLayout(startFormTopmostComonent)

F.Component.js, line 122
  执行布局操作

  Name | Type | Default | Description
  --- | --- | --- | ---
  `startFormTopmostComonent` | boolean | false | optional 从最顶层的控件开始布局

#### inherited enable()

form/F.TextBox.js, line 67
  启用控件

#### inherited focus(selectText, delayMilliseconds)

form/F.Field.js, line 81
  设置焦点

  Name | Type | Description
  --- | --- | ---
  `selectText` | boolean | 是否同时选中文本
  `delayMilliseconds` | number | 设置焦点前延迟的毫秒数

#### inherited getAttr(key){string}

F.Component.js, line 101
  获取节点属性

  Name | Type | Description
  --- | --- | ---
  `key` | string | 节点属性键

  ##### Returns:

  Type | Description
  --- | ---
  string | 节点属性值

#### inherited getFieldLabel(){string}

form/F.Field.js, line 106
  获取字段标签

  ##### Returns:

  Type | Description
  --- | ---
  string | 字段标签

#### inherited getFormFields(){Array.<F.Field>}

F.Container.js, line 64
  获取容器内的所有表单字段

  ##### Returns:

  Type | Description
  --- | ---
  Array.<F.Field> | 表单字段数组

#### inherited getHeight(){number}

F.Component.js, line 136
  获取控件高度

  ##### Returns:

  Type | Description
  --- | ---
  number | 高度

#### inherited getItem(value){F.Component}

F.Container.js, line 112
  获取子控件

  Name | Type | Description
  --- | --- | ---
  `value` | number | string | function | 子控件索引、标识符或者函数

  ##### Returns:

  Type | Description
  --- | ---
  F.Component | 子控件实例

#### inherited getText(){string}

form/F.TextBox.js, line 81
  获取显示文本

  ##### Returns:

  Type | Description
  --- | ---
  string | 显示文本

#### inherited getTooltip(){string}

F.Component.js, line 196
  获取提示信息

  ##### Returns:

  Type | Description
  --- | ---
  string | 提示信息

#### getValue(){number}

form/F.NumberBox.js, line 43
  获取值

  ##### Returns:

  Type | Description
  --- | ---
  number | 数字

#### inherited getWidth(){number}

F.Component.js, line 130
  获取控件宽度

  ##### Returns:

  Type | Description
  --- | ---
  number | 宽度

#### inherited hide()

F.Component.js, line 262
  隐藏控件

#### inherited hideLoading()

F.Container.js, line 95
  隐藏加载动画

#### inherited hideTrigger()

form/F.TriggerBox.js, line 82
  隐藏触发按钮

#### inherited hideTrigger1()

form/F.TriggerBox.js, line 86
  隐藏第一个触发按钮

#### inherited hideTrigger2()

form/F.TriggerBox.js, line 90
  隐藏第二个触发按钮

#### inherited insert(insertIndex, value)

F.Container.js, line 44
  插入新的子控件到当前控件

  Name | Type | Description
  --- | --- | ---
  `insertIndex` | number | 插入的位置
  `value` | Object | Array.<Object> | 控件实例数组

  ##### Example

      menu1.insert(0, ['-', {
      		type: 'menuitem',
      		text: '新菜单项'
      }]);

#### inherited isDirty(){boolean}

form/F.Field.js, line 132
  字段值是否已经改变

  ##### Returns:

  Type | Description
  --- | ---
  boolean | 字段值是否已经改变

#### inherited isDisabled(){boolean}

F.Component.js, line 224
  是否禁用

  ##### Returns:

  Type | Description
  --- | ---
  boolean | 是否禁用

#### inherited isFocused(){boolean}

form/F.Field.js, line 93
  是否焦点元素

  ##### Returns:

  Type | Description
  --- | ---
  boolean | 是否焦点元素

#### inherited isTriggerVisible(triggerNumber){boolean}

form/F.TriggerBox.js, line 64
  触发按钮是否可见

  Name | Type | Description
  --- | --- | ---
  `triggerNumber` | number | 触发按钮序号（1或者2，从左开始计数）

  ##### Returns:

  Type | Description
  --- | ---
  boolean | 是否可见

#### inherited isType(value){boolean}

F.Base.js, line 23
  检测当前实例是否指定的控件类型

  Name | Type | Description
  --- | --- | ---
  `value` | Object | 控件类型

  ##### Returns:

  Type | Description
  --- | ---
  boolean | 如果当前实例是指定的控件类型，返回true；否则返回false

  ##### Example

      grid1.isType('panel') // 返回true
      grid1.isType('grid')  // 返回true

#### inherited isValid(onlyFirstInvalidField){Array.<Object>}

F.Container.js, line 71
  容器内的表单字段是否有效

  Name | Type | Default | Description
  --- | --- | --- | ---
  `onlyFirstInvalidField` | boolean | false | 是否仅返回第一个无效的字段

  ##### Returns:

  Type | Description
  --- | ---
  Array.<Object> | 容器内的表单字段是否有效（[isValid, firstInvalidField, secondInvalidField, thirdInvalidField...]）

#### inherited isVisible(){boolean}

F.Component.js, line 216
  是否可见

  ##### Returns:

  Type | Description
  --- | ---
  boolean | 是否可见

#### inherited markInvalid(errorMsg)

form/F.TriggerBox.js, line 99
  将字段标记为无效

  Name | Type | Description
  --- | --- | ---
  `errorMsg` | string | 错误提示消息

#### inherited off(eventNames, fn)

F.Component.js, line 181
  移除事件

  Name | Type | Description
  --- | --- | ---
  `eventNames` | string | 事件名称（可以空格分割多个事件名称）
  `fn` | F_Component_on | 之前注册的事件处理函数

#### inherited on(eventNames, fn)

F.Component.js, line 174
  注册事件

  Name | Type | Description
  --- | --- | ---
  `eventNames` | string | 事件名称（可以空格分割多个事件名称）
  `fn` | F_Component_on | 触发事件时执行的函数

#### inherited remove()

F.Component.js, line 115
  删除父控件中移除当前控件

#### inherited removeAttr(key)

F.Component.js, line 108
  删除节点属性

  Name | Type | Description
  --- | --- | ---
  `key` | string | 节点属性键

#### inherited removeTooltip()

F.Component.js, line 208
  删除提示信息

#### inherited reset()

form/F.Field.js, line 125
  重置字段

#### inherited setAttr(key, value)

F.Component.js, line 94
  设置节点属性

  Name | Type | Description
  --- | --- | ---
  `key` | string | 节点属性键
  `value` | string | 节点属性值

#### inherited setAttrs(attrs)

F.Component.js, line 86
  设置节点属性

  Name | Type | Description
  --- | --- | ---
  `attrs` | Object | 节点属性对象

#### setDecimalPrecision(precision)

form/F.NumberBox.js, line 57
  设置数字精度

  Name | Type | Description
  --- | --- | ---
  `precision` | number | 数字精度

#### inherited setDisabled(disabled)

F.Component.js, line 248
  设置控件的禁用状态

  Name | Type | Description
  --- | --- | ---
  `disabled` | boolean | 是否禁用

#### inherited setEditable(editable)

form/F.TextBox.js, line 155
  设置是否可编辑

  Name | Type | Description
  --- | --- | ---
  `editable` | boolean | 是否可编辑

#### inherited setEmptyText(emptyText)

form/F.TextBox.js, line 73
  设置空白文本

  Name | Type | Description
  --- | --- | ---
  `emptyText` | string | 空白文本

#### inherited setEnabled(enabled)

F.Component.js, line 254
  设置控件的启用状态

  Name | Type | Description
  --- | --- | ---
  `enabled` | boolean | 是否启用

#### inherited setFieldLabel(label)

form/F.Field.js, line 100
  设置字段标签

  Name | Type | Description
  --- | --- | ---
  `label` | string | 字段标签

#### inherited setHeight(height)

F.Component.js, line 143
  设置控件高度

  Name | Type | Description
  --- | --- | ---
  `height` | number | 高度

#### inherited setHidden(hidden)

F.Component.js, line 286
  设置控件的隐藏状态

  Name | Type | Description
  --- | --- | ---
  `hidden` | boolean | 是否隐藏

#### setIncrement(increment)

form/F.NumberBox.js, line 63
  设置增量

  Name | Type | Description
  --- | --- | ---
  `increment` | number | 增量

#### inherited setMaxLength(maxLength)

form/F.TextBox.js, line 111
  设置最大长度

  Name | Type | Description
  --- | --- | ---
  `maxLength` | number | 最大长度

#### setMaxValue(maxValue)

form/F.NumberBox.js, line 70
  设置最大值

  Name | Type | Description
  --- | --- | ---
  `maxValue` | number | 最大值

#### inherited setMinLength(minLength)

form/F.TextBox.js, line 117
  设置最小长度

  Name | Type | Description
  --- | --- | ---
  `minLength` | number | 最小长度

#### setMinValue(minValue)

form/F.NumberBox.js, line 76
  设置最小值

  Name | Type | Description
  --- | --- | ---
  `minValue` | number | 最小值

#### inherited setReadonly(readonly)

form/F.Field.js, line 113
  设置只读

  Name | Type | Description
  --- | --- | ---
  `readonly` | boolean | 只读状态

#### inherited setRedStar(redStar)

form/F.Field.js, line 119
  设置是否显示红色星号

  Name | Type | Description
  --- | --- | ---
  `redStar` | boolean | 是否显示红色星号

#### inherited setRegex(regex)

form/F.TextBox.js, line 129
  设置正则表达式

  Name | Type | Description
  --- | --- | ---
  `regex` | Regex | 正则表达式

#### inherited setRegexPattern(regexPattern)

form/F.TextBox.js, line 135
  设置正则表达式规则

  Name | Type | Description
  --- | --- | ---
  `regexPattern` | string | 正则表达式规则

#### inherited setRequired(required)

form/F.TextBox.js, line 123
  设置是否必填

  Name | Type | Description
  --- | --- | ---
  `required` | boolean | 是否必填

#### inherited setSize(width, height)

F.Component.js, line 158
  设置控件尺寸

  Name | Type | Description
  --- | --- | ---
  `width` | number | 宽度
  `height` | number | 高度

#### inherited setText(text, forceNoValidate)

form/F.TextBox.js, line 89
  设置显示文本

  Name | Type | Description
  --- | --- | ---
  `text` | string | 显示文本
  `forceNoValidate` | boolean | 是否验证

#### inherited setTooltip(tooltip)

F.Component.js, line 202
  设置提示信息

  Name | Type | Description
  --- | --- | ---
  `tooltip` | string | 提示信息

#### inherited setTriggerVisible(triggerNumber, visible)

form/F.TriggerBox.js, line 57
  设置触发按钮的显示状态

  Name | Type | Description
  --- | --- | ---
  `triggerNumber` | number | 触发按钮序号（1或者2，从左开始计数）
  `visible` | boolean | 显示状态

#### setValue(value, forceNoValidate)

form/F.NumberBox.js, line 51
  设置值

  Name | Type | Description
  --- | --- | ---
  `value` | number | 数字
  `forceNoValidate` | boolean | 是否验证

#### inherited setVisible(visible)

F.Component.js, line 280
  设置控件的显示状态

  Name | Type | Description
  --- | --- | ---
  `visible` | boolean | 是否可见

#### inherited setWidth(width)

F.Component.js, line 150
  设置控件宽度

  Name | Type | Description
  --- | --- | ---
  `width` | number | 宽度

#### inherited show()

F.Component.js, line 268
  显示控件

#### inherited showLoading(opacity, container)

F.Container.js, line 103
  显示加载动画

  Name | Type | Description
  --- | --- | ---
  `opacity` | number | 透明度（默认值：0.65）
  `container` | jQuery | 显示动画的目标元素（留空则为内容元素）

#### inherited showTrigger()

form/F.TriggerBox.js, line 69
  显示触发按钮

#### inherited showTrigger1()

form/F.TriggerBox.js, line 73
  显示第一个触发按钮

#### inherited showTrigger2()

form/F.TriggerBox.js, line 77
  显示第二个触发按钮

#### inherited toggleEnabled()

F.Component.js, line 230
  切换启用状态

#### inherited toggleVisible()

F.Component.js, line 274
  切换显示状态

#### inherited trigger(eventName, args)

F.Component.js, line 189
  触发事件

  Name | Type | Description
  --- | --- | ---
  `eventName` | string | 事件名称
  `args` | Object | 事件参数

#### inherited triggerDefaultAction()

form/F.TriggerBox.js, line 49
  触发缺省动作

#### inherited validate(){boolean}

form/F.Field.js, line 159
  验证字段的有效性

  ##### Returns:

  Type | Description
  --- | ---
  boolean | 是否有效

### Events

#### inherited beforehide

F.Component.js, line 57
  隐藏控件之前触发（返回false则取消隐藏操作）

#### inherited beforeshow

F.Component.js, line 69
  显示控件之前触发（返回false则取消显示操作）

#### inherited blur

form/F.TextBox.js, line 49
  输入框失去焦点时触发

  Name | Type | Description
  --- | --- | ---
  `event` | jQuery.Event | 事件对象

#### inherited change

form/F.TextBox.js, line 28
  输入框值改变时触发

  Name | Type | Description
  --- | --- | ---
  `event` | jQuery.Event | 事件对象

#### inherited enter

form/F.TextBox.js, line 42
  输入框获取焦点并按下ENTER键时触发

  Name | Type | Description
  --- | --- | ---
  `event` | jQuery.Event | 事件对象

#### inherited focus

form/F.TextBox.js, line 35
  输入框获取焦点时触发

  Name | Type | Description
  --- | --- | ---
  `event` | jQuery.Event | 事件对象

#### inherited hide

F.Component.js, line 63
  隐藏控件时触发

#### inherited layout

F.Component.js, line 45
  布局控件时触发

#### inherited render

F.Component.js, line 51
  渲染控件时触发

#### inherited show

F.Component.js, line 75
  显示控件时触发

#### inherited trigger1click

form/F.TriggerBox.js, line 21
  点击第一个触发图标时触发

  Name | Type | Description
  --- | --- | ---
  `event` | jQuery.Event | 事件对象

#### inherited trigger2click

form/F.TriggerBox.js, line 37
  点击第二个触发图标时触发

  Name | Type | Description
  --- | --- | ---
  `event` | jQuery.Event | 事件对象

#### inherited triggerclick

form/F.TriggerBox.js, line 29
  点击触发图标时触发

  Name | Type | Description
  --- | --- | ---
  `event` | jQuery.Event | 事件对象