我正在使用Brant Burnett的jQuery UI spinner 1.2。我希望我的微调器的最小值为1,最大值为10.但是,我希望微调器默认为空白,然后在用户点击时转到1,如果它们击中则转到10。否则,该值应被视为null。
这是一个问题:如果我将“min”值设置为0,我会得到我想要的行为。微调器开始空白。 Up将它带到1然后向下将它带到10.但是,如果我将min值从0更改为1,则微调器始终默认为1.即使我尝试在微调器中选择值并清除它,它也会强制更改在控件上失去焦点后,值返回1。
有没有人有理由这样做?以后的版本会纠正这个问题吗?或者我应该修改JS文件?谢谢!
答案 0 :(得分:2)
我在jquery.ui.spinner文件中更改了第546行。添加了一个条件,以确保在返回“min”选项之前该值不为null。这让我得到了我正在寻找的默认“空白”行为。
(归功于Brant Burnett,这个插件的原作者:btburnett.com
_validate: function(value) {
var options = this.options,
min = options.min,
max = options.max;
if ((value == null) && !options.allowNull)
value = this.curvalue != null ? this.curvalue : min || max || 0; // must confirm not null in case just initializing and had blank value
if ((max != null) && (value > max))
return max;
else if ((min != null) && (value < min) && (value != null))
return min;
else
return value;
},