0

我只是设置这个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 未定义?

4

3 回答 3

0

试试这个,而不是整数,把它解析成浮点数。替换功能将删除除减号和句点(或小数点)之外的所有非数字字符。

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..
     }
于 2013-05-03T23:40:55.213 回答
0

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

一些事情要做:

  1. 替换.(句点)每个空字符串以删除它们,然后替换,(逗号)每个.
  2. 切勿使用字符串(文本)进行数字比较,用于parseFloat()将这些值转换为实数;
  3. 请不要等待我们为您编写代码,自己尝试并发布您的发现,编辑您的问题,以便我们跟进并帮助您解决问题。
于 2013-05-04T02:04:35.143 回答
0

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

于 2013-05-03T23:35:36.490 回答