2012-08-13 95 views
1

我對js中的if語句有疑問。我發表了一個聲明,但似乎並不奏效。我想通過點擊「按鈕1」來檢查這些聲明。該腳本將在計算總數之前檢查是否有任何運輸成本。 有人能告訴我如何解決我的問題?Javascript if if based on dropdown menu value

這裏是我的腳本:

<SCRIPT TYPE="text/javascript"> 
function berekeningen() 
{ 

if (document.getElementById("DropdownMenu1").value = "Eeklo" && document.getElementById("Order_Subtotal").firstChild.data >= 20) 
    { 
    document.getElementById("Transportation_Cost").value="0.00"; 
    } 
else 
    { 
    document.getElementById("Transportation_Cost").value="3.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Adegem" && document.getElementById("Order_Subtotal").firstChild.data >= 25) 
    { 
    document.getElementById("Transportation_Cost").value="0.00"; 
    } 
else 
    { 
    document.getElementById("Transportation_Cost").value="3.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Kaprijke" && document.getElementById("Order_Subtotal").firstChild.data >= 25) 
    { 
    document.getElementById("Transportation_Cost").value="0.00"; 
    } 
else 
    { 
    document.getElementById("Transportation_Cost").value="3.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Lembeke" && document.getElementById("Order_Subtotal").firstChild.data >= 25) 
    { 
    document.getElementById("Transportation_Cost").value="0.00"; 
    } 
else 
    { 
    document.getElementById("Transportation_Cost").value="3.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Oosteeklo" && document.getElementById("Order_Subtotal").firstChild.data >= 25) 
    { 
    document.getElementById("Transportation_Cost").value="0.00"; 
    } 
else 
    { 
    document.getElementById("Transportation_Cost").value="3.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Sint-Laureins" && document.getElementById("Order_Subtotal").firstChild.data >= 25) 
    { 
    document.getElementById("Transportation_Cost").value="0.00"; 
    } 
else 
    { 
    document.getElementById("Transportation_Cost").value="3.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Ursel" && document.getElementById("Order_Subtotal").firstChild.data >= 25) 
    { 
    document.getElementById("Transportation_Cost").value="0.00"; 
    } 
else 
    { 
    document.getElementById("Transportation_Cost").value="3.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Waarschoot" && document.getElementById("Order_Subtotal").firstChild.data >= 25) 
    { 
    document.getElementById("Transportation_Cost").value="0.00"; 
    } 
else 
    { 
    document.getElementById("Transportation_Cost").value="3.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Zomergem" && document.getElementById("Order_Subtotal").firstChild.data >= 25) 
    { 
    document.getElementById("Transportation_Cost").value="0.00"; 
    } 
else 
    { 
    document.getElementById("Transportation_Cost").value="3.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Knesselare") 
    { 
    document.getElementById("Transportation_Cost").value="5.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Lovendegem") 
    { 
    document.getElementById("Transportation_Cost").value="5.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Bassevelde") 
    { 
    document.getElementById("Transportation_Cost").value="5.00"; 
    } 

if (document.getElementById("DropdownMenu1").value = "Maldegem") 
    { 
    document.getElementById("Transportation_Cost").value="5.00"; 
    } 
} 
</SCRIPT> 

編輯: 我改變了腳本變量了一點,但它不工作

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.js"></script> 

<SCRIPT TYPE="text/javascript"> 
function berekeningen() 
{ 
    var plaats   = document.getElementById("plaats").value; 
    var kosten   = document.getElementById("kosten").value; 
    var subtotaal  = document.getElementById("Bestelling_subtotaal").firstChild.data 
    var class_1_plaatsen = new Array("Eeklo"); 
    var class_2_plaatsen = new Array("Adegem", "Kaprijke", "Lembeke", "Oosteeklo", 
            "Sint-Laureins", "Ursel", "Waarschoot", "Zomergem"); 
    var class_3_plaatsen = new Array("Knesselare", "Lovendegem", "Bassevelde", "Maldegem"); 

    if ($.inArray(plaats, class_1_plaatsen) >= 0) { 

     // Berekening voor plaatsen in prijscategorie 1 hieronder. 

    } 
    else if ($.inArray(plaats, class_2_plaatsen) >= 0) { 

     // Berekening voor plaatsen in prijscategorie 2 hieronder. 

    } 
    else { 

     // Berekening voor overige plaatsen hieronder. 

    } 
} 
</SCRIPT> 

我wan't使這個:

當var plaats = class_1_plaatsen和subtotaal < 15,然後alert(We leveren vanaf最低€15)。但是,如果subtotaal是15和20之間 然後kosten = 3。但是,如果subtotaal> = 20,則kosten = 0

當VAR國家地點= class_2_plaatsen和subtotaal < 20,則警報(我們 leveren vanaf最低€ 20)。但是,如果subtotaal是20和25之間 然後kosten = 3。但是,如果subtotaal> = 25,則kosten = 0

當VAR國家地點= class_3_plaatsen和subtotaal < 20,則警報(我們 leveren vanaf最低€ 20)。但是,如果subtotaal> = 20,則kosten = 5

Dyasten

+0

http://www.jslint.com/,FIY:=是賦值運算符,==比較,===嚴格比較(那是什麼你應該使用)。 – valentinas 2012-08-13 23:00:23

回答

1

應該不是所有的if語句有兩個==

if (document.getElementById("DropdownMenu1").value == "Knesselare") 
1

一般來說,你不希望使用單個=登錄if語句;它將評估爲新的變量分配。

而是=的==使用這樣的:

if (document.getElementById("DropdownMenu1").value == "Eeklo" && document.getElementById("Order_Subtotal").firstChild.data >= 20)