1

我正在尝试使用此脚本:

<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')

帮助?

4

3 回答 3

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;

于 2013-09-14T07:12:32.363 回答
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");   
}
});

这对我来说很好。

于 2013-09-13T20:03:22.357 回答
0

似乎您可能正在以无冲突模式加载 jQuery,或者根本不加载它。

看到这个问题和我的回答:

jQuery Uncaught TypeError: 对象 [object Window] 的属性“$”不是函数

于 2013-09-13T20:07:06.613 回答