1

私はKendo NumericTextBoxを持っています。特定のフィールドに特定の値が含まれている場合、その NumericTextBox の値の範囲は奇数値のみになります。

ステップを 2 に設定すると、現在の値が奇数値の場合に機能します。

したがって、ユーザーが 22 などの値を入力してアップ スピナーをクリックすると、値が 23 に増加し、次のクリックで 25 に増加します。

現在の値が 30 で、ユーザーが down spinner をクリックすると、値が 29 に減少し、次のクリックで 27 に減少します。

4

2 に答える 2

1

ここにあなたのための解決策があります:http://jsfiddle.net/a6Ek2/8/

var numericTextBox = $("#bar").kendoNumericTextBox({
    format: "d",
    value: 1,
    step: 2, }).data('kendoNumericTextBox');

numericTextBox.element.parent().find('.k-link').mousedown(function () {
    var value = numericTextBox.value();
    if (value % 2 === 0) {
        if ($(this).find('span.k-icon').hasClass('k-i-arrow-n')) {
            numericTextBox.value(value - 1);
        }
        else {
            numericTextBox.value(value + 1);
        }
    } });

キーボードからのデータ入力をブロックし、ステップ オン 2 を設定することもできます。

$("#foo").kendoNumericTextBox({
    format: "d",
    value: 1,
    step: 2,
});

$("#foo").attr('readonly', true);
于 2014-01-15T22:33:05.090 に答える
0

これは少しトリッキーですが、うまくいくかもしれません。step数値テキスト フィールドの現在の値に応じて、1 または 2 に設定してみてください。

次に、スピナーをクリックするか、値が変更されたときに値を変更します。このようなもの:

function adjustStep() {
    var value = this.value();
    if (value % 2 == 1) {
        number.options.step = 1;
    } else { 
        number.options.step = 2;
    }
}

var number = $("#numerictextbox").kendoNumericTextBox({
    step : 1,
    value : 21,
    spin: adjustStep,
    change: adjustStep
}).data("kendoNumericTextBox");

JSFiddle はこちら: http://jsfiddle.net/kF2h7/1/

于 2014-01-15T21:34:12.697 に答える