0

私はこのスライダーを使用しています:

http://jquerytools.org/documentation/rangeinput/index.html

生成されるコードは次のようになります。

<input id="AddedValue" max="100000" min="0" name="AddedValue" type="text" data-orig-type="range" value="0" class="range">

さて、このスライダーを使用して任意の値に設定すると、the value needs to be less or equal 100000. どうすればこれを修正できますか? または、この単一の入力の検証を無効にできる方法はありますか?

4

1 に答える 1

1

minあなたの問題は、入力に追加したおよびmax属性によって引き起こされています。jQuery Validate プラグインはこれらを受け取り、それらをルールと見なします。この場合、オプションでさえignore「無視」されます....それでも、これらは有効なルールであると考えられます。

<input id="AddedValue" max="100000" min="0" name="AddedValue" type="text" data-orig-type="range" value="0" class="range">

OP: 「または、この単一の入力の検証を無効にできる方法はありますか?」

さらにコードを表示するまでは、単純な解決策は、その要素から属性minと属性を削除することです。maxおそらく、入力スライダーを使用して、最小値と最大値を別の方法で定義できます。ただし、これは jQueryTools パッケージの一部であるため、通常の規則に従うことは期待できません。

編集:

競合があるようです。jsFiddle を使用した簡単なテストでは、jQueryTools が原因であると言えます。最も論理的な解決策は、これらのインラインattributesを入力要素から削除し、jQuery を使用して各プラグインのオプションを個別に宣言することです...

$(document).ready(function() {

    $('#myform').validate({  // jQuery Validate setup
        // other options,
        rules: {
            AddedValue: {
                min: 0,
                max: 100000
            }
        }
    });

    $('#AddedValue').rangeinput({  // jQueryTools Rangeinput setup
        // other options,
        min: 0,
        max: 100000
    });

});

率直に言うと、jQueryTools が他の jQuery プラグインとうまく連携できない場合は、別のものにダンプします。(さらに掘り下げてみると、jQueryTools は jQuery 1.3 から 1 回しか更新されておらず、ほぼ同じ期間、開発者がいなかったことがわかります。ユーザー フォーラムと Github サイトを参照すると、Tero がほとんど関心を示していないことがわかります。彼の創造をサポートすることで、そして過去18か月ほどの間、リードを引き継ぐ人を見つけることができませんでした. )

于 2013-02-22T22:32:00.690 に答える