有没有一种优雅的方法来检查多个条件
Is there an elegant way to check multiple conditions?
我有多个下拉菜单,即part_no,part_category,制造和型号。我正在尝试显示库存中的车辆零件数量。
鉴于我通过向下拉菜单提供更多值变得更加具体,必须显示较少的零件类型。(类似于过滤)
我试图模仿的一个很好的例子是本网站中的下拉菜单: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
}
相关文章:
- 递归使用 eval() 是检查程序执行的好方法吗?
- 用于检查数组中是否存在元素的javascript自定义方法
- 指令加载真的很长,检查加载时间的方法
- PhantomJS - 检查javascript函数是否正在运行的任何方法
- 检查变量是否为字符串的简单方法
- Html5 历史 api,任何方法检查 1 转发历史
- 使用 elementFromPoint() 方法检查元素可见性
- 如何使用 indexOf 方法检查数组中是否存在“未定义”
- 使用javascript和 Asp.net 方法检查电子邮件是否已经存在
- 使用Underscore JS _contains方法检查数组中是否存在键/值对
- JQuery:如何使用Each方法检查所有表单输入元素中的值
- Javascript方法检查字符串中的数字(输入数据的验证)
- 通过调用方法检查数组的单个元素
- 是否有方法检查特定点(X,Y)是否在SVG元素中
- 使用filter方法检查数组中每个元素的首字母是否为大写.但我还是得到了整个数组
- Lodash方法检查一个数组中的所有元素是否在另一个数组中
- 使用loadash或一些本机方法检查array1是否包含array2中的任何元素
- JavaScript - Moment.js - isBetween() 方法检查时间是否落在一个范围内
- 如何使用call或apply方法检查该对象的实例
- 美元.查找方法检查为空