【问题标题】:Cannot make jQuery Spinner blank with default value grater than 0无法将默认值大于 0 的 jQuery Spinner 设为空白
【发布时间】:2012-06-21 23:00:50
【问题描述】:

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

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

有没有人知道为什么会这样?以后的版本会纠正这个问题吗?还是我应该修改 JS 文件?谢谢!

【问题讨论】:

  • 这样的问题可能更适合插件支持领域...

标签: jquery jquery-ui spinner


【解决方案1】:

我更改了 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;
},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多