簡體   English   中英

Javascript-一種情況的2條陳述

[英]Javascript - 2 statements for one condition

我正在嘗試讓我的價格在2種情況下顯示

  1. 銷售價格必須低於基本價格
  2. 系統中的“不顯示未選中的價格”(是或否)

     var basPrc = "$5000"; var onlnPrc = "<%=getAttribute('item','382798','salesprice')%>"; var CallForPrice = "<%=getAttribute('item','382798','dontshowprice')%>"; if (onlnPrc < basPrc || CallForPrice == "No") { document.write('<span class="strike">Base Price: <span>'+basPrc+'</span></span>') document.write("<br /><strong class=\\"saleprice\\">Our Price: <%=getAttribute('item','382798','salesprice')%></strong><br />"); //savings var savings = onlnPrc - basPrc; document.write ('<span class="save">You Save: <span class="red">'+ savings +'</span></span><br />'); } //if don't show pricing is checked if (CallForPrice = "Yes") { var basPrc = null; var onlnPrc = null; document.write('<br /><strong class="saleprice">Call For Pricing<strong><br />'); } //if no online pricing else {document.write('<br /><strong class="saleprice">Our Price: '+basPrc+' <strong><br />');} 

我嘗試了“ &&”運算符,但沒有運氣,對下一步該做什么有任何想法嗎?

您的basPrc是字符串,而不是數字; 您應該將其初始化為5000 ,而不是"$5000" (此處缺少引號很重要)。 我完全不確定onlnPrc是什么。 您需要確保兩者都是數字。 否則,當您執行basPrc > onlnPrc ,將進行字符串比較,而不是數字比較。

// Base Price defaults to 5000
var basPrc = 5000;

// Parse the Online Price as a floating point number;
// if the result is NaN, default it to 0
var onlnPrc = parseFloat("<%=getAttribute('item','382798','salesprice')%>") || 0;

您應該盡力確保basPrconlnPrc始終是數字,因為您正在使用它們進行計算。 將貨幣符號或小數點的顯示留在實際顯示數據的代碼段中。

不相關的問題:此代碼在哪里? 這是為了什么? 我從未見過NetSuite代碼看起來像這樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM