easyui的numberbox的比较两个输入参数时出现的问题

今天早上和往常一样坐着自己的豪华大巴来到公司,刚打开电脑就被别人说自己写的程序有bug,于是我半信半疑的去看了,bug如下:
前台页面
在这里插入图片描述
本来写了一个商品价格和优惠价格的逻辑判断,但是在测试时却没有生效,
页面代码如下:
在这里插入图片描述
页面的JS判断代码:

 function onChange(newValue,oldValue) {
        var price=$("#originalPrice").val();
        if(price<newValue){
                alert("优惠价格必须小于商品价格");
               $("#discountPrice").numberbox('clear');
        }
    }

我输入的商品价格是456,优惠价格是4556,debug调试发现判断后直接跳过if判断,没有执行里面的代码,原来easyUI的numberbox的框里面虽然放的是数字,但并不是真正意义上的数字,而是字符串,比较时比较的是字符串的长度,需要将字符串转换一下,修改后的代码如下:

 function onChange(newValue,oldValue) {
        var price=$("#originalPrice").val();
        if(parseFloat(price)<parseFloat(newValue)){
                alert("优惠价格必须小于商品价格");
               $("#discountPrice").numberbox('clear');
        }
    }

这是一个坑,切记,切记,切记!!!!!!!!!!!!!!!!!!!!!!!!!!!

猜你喜欢

转载自blog.csdn.net/qq_42689281/article/details/83342614