使用遮罩

时间:2016-10-28 09:09:51

标签: jquery

我有一个文本字段,我使用jQuery检测更改,然后如果值> gt,我会/激活一个按钮1000(它应该包含一个价格)。 它工作正常。

现在我想在输入上应用一个蒙版来格式化值并限制像这样的字符: 99 999 999,99

掩码正在运行但是,更改检测不再起作用了......

我使用autoNumeric作为我的面具: https://github.com/BobKnothe/autoNumeric

我用jsfiddle创建了两个例子:

这是我的javascript代码:

    function activeInvoice(priceField) {
        console.log(priceField.val());
        var val = (priceField.val() >= 1000);
        $('#invoice_file').prop('disabled', !val);
        $('#invoice_file').prop('required', val);
    }

    $(function () {
        $('#price').autoNumeric("init", {
            aSep: ' ',
            aDec: ','
        });

        var priceField = $('#price');
        activeInvoice(priceField);

        $(document).on('input', '#price', function () {
            activeInvoice($(this));
        });
    });

我当然希望两者都有效!

由于

1 个答案:

答案 0 :(得分:1)

尝试使用此代码:



        function activeInvoice(priceField) {            
            var priceField_value = priceField.val().replace(/ +/g, '');                
            var val = (parseInt(priceField_value) >= 1000);
            $('#invoice_file').prop('disabled', !val);
            $('#invoice_file').prop('required', val);
        }

        $(function () {
            $('#price').autoNumeric("init", {
                aSep: ' ',
                aDec: ','
            });
            
            var priceField = $('#price');
            activeInvoice(priceField);
            
           $(document).on('keyup', '#price', function () { activeInvoice($(this)); });
        });

<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/autonumeric/1.9.46/autoNumeric.js"></script>

<input id="price" type="text" />
<input id="invoice_file" type="button" value="test" />
&#13;
&#13;
&#13;