我有一个文本字段,我使用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));
});
});
我当然希望两者都有效!
由于
答案 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;