我正在尝试使用此脚本:
<script>
var original_value = Number($('#ProductPrice').text().replace(/[^0-9.]+/g,""));
$(document).on('keyup', '#ProductPrice', function() {
if (Number($('#ProductPrice').text().replace(/[^0-9.]+/g,"")) > original_value) {
$("#ProductPrice").css("color","red");
} else {
$("#ProductPrice").css("color", "black");
}
});
</script>
我一直收到错误:'undefined'不是函数(评估'$(document).on')
帮助?
答案 0 :(得分:2)
我觉得你在没有冲突模式中有jQuery,这意味着$没有分配给jQUery
您可以像这样调用您的代码:
(function ($) {
var original_value = Number($('#ProductPrice').text().replace(/[^0-9.]+/g, ""));
$(document).on('keyup', '#ProductPrice', function () {
if (Number($('#ProductPrice').text().replace(/[^0-9.]+/g, "")) > original_value) {
$("#ProductPrice").css("color", "red");
} else {
$("#ProductPrice").css("color", "black");
}
});
})(jQuery)
您也可以将所有$
替换为jQuery
;
答案 1 :(得分:0)
假设您在文本框中将该值作为用户的输入。 您需要为输入类型文本提供值而不是文本。
var original_value = Number($('#ProductPrice').val().replace(/[^0-9.]+/g,""));
$(document).on('keyup', '#ProductPrice', function() {
if (Number($('#ProductPrice').val().replace(/[^0-9.]+/g,"")) > original_value) {
$("#ProductPrice").css("color","red");
} else {
$("#ProductPrice").css("color", "black");
}
});
这对我来说很好。
答案 2 :(得分:0)
好像你可能在无冲突模式下加载jQuery,或者根本不加载它。
看到这个问题&amp;我对它的回答:
jQuery Uncaught TypeError: Property '$' of object [object Window] is not a function