使用jquery比较两个价格

时间:2013-05-03 23:21:54

标签: jquery jquery-ui jquery-plugins bpopup

我只是为价格比较设置了这个jquery代码..

          if ([CARTTOTAL]>$125){
              $('#element_to_pop_up').bPopup({
                  easing: 'easeOutBack', //uses jQuery easing plugin
                  speed: 450,
                  transition: 'slideDown'
              });

          }

在页面源上我找到了这样的结果:

         if ($2,345>$125){
              $('#element_to_pop_up').bPopup({
                  easing: 'easeOutBack', //uses jQuery easing plugin
                  speed: 450,
                  transition: 'slideDown'
              });

          }

这意味着[carttotal]获得价值......

但它没有进入内部如果条件...我在控制台中看到一个错误,$ 2未定义?

3 个答案:

答案 0 :(得分:0)

使用.replace删除$(它是jQuery的命名空间)并使用parseInt比较数字(小心不要比较字符串)。

答案 1 :(得分:0)

尝试使用this而不是整数将其解析为float。 replace函数将删除除减号和句点(或小数点)之外的任何非数字字符。

var compare_value_old="$125";
var compare_value_new=parseFloat(compare_value_old.replace.('/[^0-9-.]/g'));

if (parseFloat([CARTTOTAL].replace('/[^0-9-.]/g')) > compare_value_new)
    { 
      // do something here..
     }

答案 2 :(得分:0)

您的号码中有,个逗号和符号的问题。 JavaScript使用英语标准(如果我错了,请纠正我)使用.(句点)作为小数分隔符。这是一个普通问题,法国,巴西和其他国家的网站使用昏迷作为小数点分隔符和数字分隔符的点/周期(我是巴西人,所以我从经验中知道)。

有些事要做:

  1. 每个空字符串替换.(句点)以删除它们,然后按,替换.(逗号);
  2. 绝不使用字符串(文本)进行数字比较,使用parseFloat()将此值转换为实数;
  3. 请不要等我们为您编码,亲自尝试并发布您的创建人来编辑您的问题,以便我们跟进并帮助您解决问题。