簡體   English   中英

是否有一種優雅的方式來檢查多種條件?

[英]Is there an elegant way to check multiple conditions?

我有多個下拉菜單,分別是part_no,part_category,make和model。 我試圖在我的庫存中顯示車輛零件的數量。

鑒於隨着我通過向下拉菜單提供更多值而變得更具體,因此必須顯示較少類型的部件。 (像過濾一樣)

我試圖模仿的一個很好的例子是本網站的下拉菜單: http ://www.sgcarmart.com/used_cars/listing.php?MMO = Mini&RPG = 20 &MOD = Austin

是否有更好的方法來進行檢查(通過所有可能的組合)而不是這樣做:

         //Values from my dropdown menus
           var carmake= $('#car_make').val();
           var carmodel= $('#car_model').val();
           var partname= $('#part_name').val();
           var partcategory= $('#part_category').val(); 

           if(carmake==data['carmake'])
           {
           //do something
           }
           else if (carmake==data['carmake'] && partname==data['partname'])
           {
            //do something           
           }
           else if (carmodel==data['carmodel'] && partname==data['partname'])
           {
            //do something           
           }
           else if (carmodel==data['carmodel'] && partname==data['partname'] &&partcategory==data['partcategory'])
           {
            //do something           
           } else if (carmodel==data['carmodel'] && partname==data['partname'] &&partcategory==data['partcategory' &&partname==data['partname'])
           {
            //do something           
           }
           .
           .
           .
           .
           .              

將所有測試值放在屬性名稱與data相同的對象中。 然后遍歷所有屬性以查看它們是否完全相同:

var search = {
    carmake: $("#car_make").val(),
    carmodel: $("#car_model").val(),
    partname: $("#part_name").val(),
    partcategory: $("#part_category").val()
};

var match = true;
$.each(search, function(prop, value) {
    if (value !== "" && value != data[prop]) { // only compare if the dropdown was selected
        match = false;
        return false; // break out of the loop
    }
});

if (match) {
    // do something
}

暫無
暫無

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

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