2015-05-20 1 views
0

Я пытаюсь, чтобы мои цены отображать до 2-й условийJavascript - 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 />');} 
    

Я попытался" & & "операторы и не повезло, либо идея о том, что я должен делать дальше?

+0

Рассмотрите возможность использования '===', даже. –

+0

Я на самом деле просто сделал это, мне удалось заставить его работать! Теперь я должен исправить проблему NaN. Math.subtract(), похоже, не работает. –

ответ

0

Ваш 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; 

Вы должны стремиться, чтобы убедиться, что basPrc и onlnPrc всегда числа, так как вы делаете расчеты с ними. Оставьте отображение символов валюты или десятичных точек на фрагменты кода, где вы фактически показываете данные.

Несвязанный вопрос: где находится этот код? Для чего это? Я никогда не видел код NetSuite, который выглядел примерно так.

+0

Это выглядит как сценарий на стороне клиента или набор продуктов, так как он обращается к DOM. –

+0

Это подводит меня к следующему вопросу: почему бы не использовать клиентский скрипт? – erictgrubaugh

Смежные вопросы