2012-08-13 64 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)