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] が値を取得することを意味します...

しかし、if条件の中に入っていません... $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

.replace を使用して $ (jQuery の名前空間) を削除し、parseInt で数値を比較します (文字列を比較しないように注意してください)。

于 2013-05-03T23:35:36.490 に答える
0

,数字のカンマと記号に問題があります。.JavaScript は、 (ピリオド) を小数点記号として使用する英語標準 (間違っていれば訂正してください) を使用します。これは、フランス語、ブラジル、およびその他の国のサイトで、小数点区切り記号としてカンマを使用し、千単位区切り記号としてドット/ピリオドを使用する一般的な問題です (私はブラジル人なので、経験から知っています)。

やるべきこと:

  1. .空の文字列ごとに (ピリオド) を置き換えてそれらを削除し、次に,(カンマ) ごとに置き換え.ます。
  2. 文字列 (テキスト) を使用して数値を比較しないでくださいparseFloat()。この値を実数に変換するために使用します。
  3. 私たちがコードを作成するのを待たずに、自分で試してみて、質問を編集して発見したことを投稿してください。そうすれば、フォローアップして問題を解決することができます。
于 2013-05-04T02:04:35.143 に答える