或者在JavaScript中声明?

时间:2016-12-21 11:36:58

标签: javascript c# asp.net-mvc

我在JavaScript中有这个条件,目前它所做的是在订单状态准备好发货时加载下拉列表。我还希望if条件适用于OR Dispatched。

if条件低于

if ($(this).closest("td").closest("tr").find("input.pcss-product-order-status").val() == "ReadyForDespatch")

如何添加或为此|| "Despatched"就像是

if ($(this).closest("td").closest("tr").find("input.pcss-product-order-status").val() == "ReadyForDespatch" || "Despatched")

由于

2 个答案:

答案 0 :(得分:5)

你需要在||之后提供完整的条件,更好的方法是将结果存储在变量中,然后在if块中使用它: var status = $(this).closest(" td")。最近(" tr")。find(" input.pcss-product-order-status" ).VAL(); if(status ==" ReadyForDespatch" || status ==" Dispatched")

答案 1 :(得分:3)

六个选项:

1

// KISS solution ;)
var val = $(this).closest("td").closest("tr").find("input.pcss-product-order-status").val();

if(val == "ReadyForDespatch" || val == "Despatched") {

}

2

// ES6+
if(["ReadyForDespatch", "Despatched"].includes($(this).closest("td").closest("tr").find("input.pcss-product-order-status").val()))  {

}

3

// ES5+
var val = $(this).closest("td").closest("tr").find("input.pcss-product-order-status")).val();

if(["ReadyForDespatch", "Despatched"].some(someValue => someValue == val))  {

}

4

// ES5+
if(["ReadyForDespatch", "Despatched"].indexOf($(this).closest("td").closest("tr").find("input.pcss-product-order-status")).val()) > -1)  {

}

5

// ES ALL
switch($(this).closest("td").closest("tr").find("input.pcss-product-order-status").val())
{
       case "ReadyForDespatch":
       case "Despatched":

          break;
}

6

// ES6+
// This is an overkill for 2 elements, but I've added it for the sake of
// showing the wonders of Set collection
if(new Set(["ReadyForDespatch", "Despatched"]).has($(this).closest("td").closest("tr").find("input.pcss-product-order-status").val()) {

}