如何设置jQuery微调器的最大值和最小值?
我遇到了下一个问题: 我正在使用jQuery + ajax,我希望在从服务器获取数据之后设置微调器的最大和最小值。但真实情况是,当我用萤火虫检查元素时,它说,最大值和最小值都被设置,实际上它们不是,所以没有最大值和最小值。 这里是一些代码:如何设置jQuery微调器的最大值和最小值?
...
<input type="number" id ="spinId" name="someName" step="0.5" />
...
$("#spinId").attr('min', 0.0);
$("#spinId").attr('max', parseFloat($('.someClass').text()));
...
,这.someClass通过AJAX形成。 也我注意到,价值设置正确,即$('#spinId').attr('value',ValueFromServer);
工作正常。 那么我应该怎么做才能修复它?
创建微调控制器时,将设置min
和max
值。要改变他们的飞行,使用此:
// given a 'data' object from AJAX with keys 'min' and 'max':
$('#spinId').spinner('option', 'min', data.min);
$('#spinId').spinner('option', 'max', data.max);
还要记住的是,.attr()
function只能用来获取和设置DOM元素的属性。例如,您可以使用它来获取或设置<div>
的id
或<a>
元素的href
。大多数jQuery插件都在JavaScript变量中保留它们的配置。如果他们将配置附加到DOM,他们使用.data()
。
感谢您的解决方案! – Helgus 2012-08-07 10:36:43
您也可以在不影响默认值的情况下直接在不同的旋钮上设置选项。这里的工作示例:http://jsfiddle.net/7xj7K/4/
// give two different inputs different options without changing jquery spinner defaults
$("#spinId").spinner({min: 0, max: 10});
$("#spinId_two").spinner({min: -3, max: 53});
正如你可以看到的jsfiddle,jQuery的微调与执行最小值/最大值,同时点击按钮,输入正确的一些问题。该值可以超过最小值/最大值,但是一旦用户模糊了该字段,该值就会被验证。 当使用键盘上/下箭头时,验证工作得很好,所以看起来好像插件作者有改进的余地。
这是设置多个选项的最佳方法。 – 2014-05-12 21:36:47
它似乎在Chrome中工作。火狐不支持输入类型数字,所以(通过分配问题的标签来判断)你使用jspinner来处理这些数字? – WTK 2012-08-07 10:04:17
我使用jQuery微调:http://btburnett.com/spinner/example/example.html – Helgus 2012-08-07 10:11:35
你检查(console.log或alert)$('。someClass')。text()的值吗?它是否提供了您期望的价值? – 2012-08-07 10:20:23