1

我正在使用 Brant Burnett 的 jQuery UI spinner 1.2。我想让我的微调器的最小值为 1,最大值为 10。但是,我希望微调器默认为空白,如果用户点击则转到 1,如果用户点击则转到 10。否则,该值应被视为 null。

这里有一个问题:如果我将“min”值设置为 0,我会得到我想要的行为。微调器开始空白。向上将其变为 1,向下将其变为 10。但是,如果我将该最小值从 0 更改为 1,则微调器始终默认为 1。即使我尝试选择微调器中的值并清除它,它也会强行更改焦点在控件上丢失后,值恢复为 1。

有没有人有这可能的原因?以后的版本会纠正这个问题吗?还是我应该修改 JS 文件?谢谢!

4

1 回答 1

2

我更改了 jquery.ui.spinner 文件中的第 546 行。添加了一个条件以确保在返回“min”选项之前该值不为空。这让我得到了我正在寻找的默认“空白”行为。

(感谢 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;
},
于 2012-06-21T15:00:50.357 回答