通过向上/向下按钮和箭头键处理,为输入数值增强文本输入功能。

一、实例

普通的数字选择器。

代码

<input id="spinner">
 
<script>
$( "#spinner" ).spinner();
</script>

旋转器(Spinner),或数步进控件(number stepper widget),是用于处理各种数字输入的完美控件。它允许用户直接输入一个值,或通过键盘、鼠标、滚轮旋转改变一个已有的值。当与全球化(Globalize)结合时,您甚至可以旋转显示不同地区的货币和日期。

旋转器(Spinner)使用两个按钮将文本输入覆盖为当前值的递增值和递减值。旋转器增加了按键事件,以便可以用键盘完成相同的递增和递减。旋转器代表 全球化(Globalize)的数字格式和解析。

二、键盘交互

  • UP:对值增加一步。
  • DOWN:对值减少一步。
  • PAGE UP:对值增加一页。
  • PAGE DOWN:对值减少一页。

用鼠标点击旋转按钮后,焦点仍停留在文本域中。

当旋转器不是只读()时,用户可以输入值,这可能会产生无效的值(小于最小值,大于最大值,增减错配,非数字输入)。当增减时,不管通过编程方式还是旋转按钮方式,值都会被强制为一个有效值(如需了解详情,请查看 stepUp() 和 stepDown() 的描述。

三、主题化

旋转器部件(Spinner Widget)使用 jQuery UI CSS 框架 来定义它的外观和感观的样式。如果需要使用旋转器指定的样式,则可以使用下面的 CSS class 名称:

  • ui-spinner:旋转器的外层容器。
  • ui-spinner-input:旋转器部件(Spinner Widget)实例化的  元素。
  • ui-spinner-button:用于递增或递减旋转器值的按钮控件。向上按钮会另外带有一个 ui-spinner-up class,向下按钮会另外带有一个 ui-spinner-downclass。

四、快速导航

1、Options

  • culture:设置culture选项 用于解析和格式化值。 如果为null,在Globalize下当前设置的culture将被使用, 可供的culture,请查看Globalize 文档。 只有当numberFormat选项设置了,才会有关联。 需要引用Globalize。
  • disabled:如果设置为 true,则禁用该 spinner(微调组件)。
  • icons:标题要使用的图标,与 jQuery UI CSS 框架提供的图标(Icons) 匹配。设置为 false 则不显示图标。
  • incremental:当按住spinner(微调组件)按钮不放时,控制的步数。
  • max:允许的最大值。 如果元素的max属性存在,该选项未明确设置,那么该元素的max属性就被用作该选项的值。 如果为null,表示没有上限。
  • min:允许的最小值。 如果元素的min属性存在,该选项未明确设置,那么该元素的min属性就被用作该选项的值。 如果为null,表示没有下限。
  • numberFormat:通过Globalize格式化数字, 如果有效的话。 最常见的用于"n"用作十进制数 和"C"用作货币值。 也看到了culture选择。
  • page:当通过pageUp/pageDown的方法进行分页时,采取的步数。
  • step:通过按钮或stepUp()/stepDown()方法微调时,采取的步数。 如果元素的step属性存在,并且该选项未明确设置,那么元素的step属性值将作为该选项的值使用。

2、Methods

  • destroy():完全移除 spinner功能。这会把元素返回到它的预初始化状态。
  • disable():禁用 spinner.
  • enable():启用 spinner.
  • option():获取当前与指定的 optionName 关联的值。
  • pageDown():通过指定页数递减值, 页数由page选项定义。 如果没有参数, 单页递减。
  • pageUp():通过指定页数递增值, 页数由page选项定义。 如果没有参数, 单页递增。
  • stepDown():通过指定步数递减值, 步数由step选项定义。 如果没有参数, 单步递减。
  • stepUp():通过指定步数递增值, 步数由step选项定义。 如果没有参数, 单步递增。
  • value():获取或设置当前数值,这个值是基于numberFormat 和 culture选项解析的。
  • widget():返回包含生成组件包裹元素 的一个jQuery对象。

3、Extension Points

  • _buttonHtml():这个方法返回的HTML用于spinner(微调组件)的递增和递减按钮。 每个按钮都必须给定一个ui-spinner-button的类名 用于相关联的事件工作。
  • _uiSpinnerHtml():这个方法返回的HTML用于包裹 spinner(微调组件)元素。

4、Events

  • change( event, ui ):当spinner微调器的值改变并且输入元素(input)失去焦点时,该事件触发。
  • create( event, ui ):当spinner微调器创建的时候,该时间触发。
  • spin( event, ui ):在递增/递减的时候,该事件触发(用 当前值和ui.value比较来 确定的微调的方向)。可以取消,以防止被更新值。
  • start( event, ui ):微调开始之前,触发该事件。可以取消,以防止微调。
  • stop( event, ui ):微调结束后,触发该事件。

到此这篇关于jQuery UI旋转器部件Spinner Widget的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持Devmax。

jQuery UI旋转器部件Spinner Widget的更多相关文章

  1. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. 在IOS9中的Cordova应用程序使用JQuery / Javascript的window.history问题

    在两个测试用例中唯一改变的是Cordova.js.解决方法我看到这是几个星期前,但我会发布这个,以防其他人遇到它.听起来它可能与iOS9中的哈希更改生成的导航事件有关.如果是这样,可以将其添加到index.html以禁用哈希侦听:

  3. iOS 5上的jQuery事件

    解决方法在Apple开发论坛上由一个人回答:我需要在将元素添加到DOM之后才绑定(),如下所示:

  4. Android Spinner下划线颜色

    我可以使用style=“@style/Base.Widget.AppCompat.Spinner.Underlined”在spinner中添加下划线.如何仅使用样式更改下划线的颜色?我不想使用任何可绘制的文件来改变这一点.使用上面的样式,当用户点击它时,它只有下划线.它在正常状态下不会改变下划线的颜色.解决方法默认情况下,Spinner将在AppTheme中使用通过android:textColo

  5. android – 如何通过文本内部设置微调器选择

    我准备了一个表单,我必须使用相同的页面添加详细信息和编辑详细信息.添加详细信息时,所有字段都将为空,并且微调器选择将设置为“无选择”.现在我想设置我将从前一个活动传递的项目的微调器选择.怎么实现这个?由于spinner没有任何类似的方法,setSelection;还是有其他办法,我可以实现这个机制……有人请帮助我……解决方法这就是我所做的,它似乎工作正常

  6. android – Spinner图形bug API 21

    解决方法我设法以两种不同的方式解决这个问题:>为您的微调器设置样式:也许预定义样式的背景颜色足以让你.如果不试试>创建一个具有圆角半径的可绘制形状:并将其设置为popupBackground到您的微调器希望这有用!

  7. Android中的Spinner主题很暗

    我试图奇怪地改变工具栏微调器下拉主题这没有发生.当我点击微调器时,它总是会变暗.我想背景为灰色,文字为黑色.我没有任何动作栏.我通过工具栏设置一切.因此我尝试了以下方法:风格xml:更新:添加了以下主题:并将其应用于微调器:使用上面的设置,我可以更改下拉背景颜色但不能在将主题应用到微调器之前,我不能对选择产生涟漪效应吗?解决方法只需将以下内容添加到您的Spinner,就像对工具栏一样:所以你的最终Spinner看起来像这样:

  8. 通过编辑文本在android中动态填充Spinner

    我有一个微调器,其中的少量值来自strings.xml,我想使用Button的onclick事件从编辑文本中动态填充该微调器,但不知何故它不起作用,我每次都得到强制关闭.任何帮助将不胜感激.Logcat错误:–解决方法您正在尝试在从资源创建的适配器中添加项目,因此它将为您提供不受支持的结果.要解决此问题,您可以创建一个空白列表,然后从资源中添加列表中的项目.为此你可以使用Arrays.asList

  9. Spinner在android中不起作用

    Spinner无法正常工作.这是我的代码:解决方法你犯的唯一错误是你设置了不同的事件监听器..ListenerOnItemClickListener适用于ListView..对于Spinner,你必须设置OnItemSelectedListener..尝试将OnItemClickListener替换为OnItemSelectedListener,如:

  10. 如何在spinner android中删除默认值?

    我使用JSON从数据库中获取值并将它们插入到微调器中.此过程已成功运行.但是当我点击旋转器时,我收到了两次Spinner提示;如何从微调器中删除第一个默认值…

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部