1

Brant Burnett の jQuery UI spinner 1.2 を使用しています。スピナーの最小値を 1 に、最大値を 10 にしたいと考えています。ただし、スピナーをデフォルトで空白にし、ユーザーがヒットした場合は 1 に、ヒットした場合は 10 にします。それ以外の場合、値は null として扱われます。

問題は次のとおりです。「最小」値を 0 に設定すると、必要な動作が得られます。スピナーは空白で始まります。Up で 1 になり、Down で 10 になります。ただし、その最小値を 0 から 1 に変更すると、スピナーは常にデフォルトで 1 になります。スピナーで値を選択してクリアしようとしても、強制的に変更されます。コントロールでフォーカスが失われた後、値は 1 に戻ります。

誰にもこれが理由があるのですか?それ以降のバージョンで問題は修正されますか? または、JS ファイルを変更する必要がありますか? ありがとう!

4

1 に答える 1

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;
},
于 2012-06-21T15:00:50.357 に答える