我在提交时有一个表格,并在通过验证检查时调用函数。现在,我要做的是取决于变量的值,表格必须提交给不同的功能。
$('#select_port').on('submit',function(e){
var port = $("input[name='port_type']:checked").val();
if(port == "chennai" || "mumbai" || "calicut"){
newport();
}
else if(port == 'gujarat' ){
gujaratport();
}
}
无论端口值是什么,只有newport()
被称为。如果端口值是钦奈,孟买或卡利卡特,我想调用newport()
函数。如果端口值是古吉拉特邦,则应调用gujaratport()
。现在,无论该值是什么值newport()
函数。
您的第一个条件:
if(port == "chennai" || "mumbai" || "calicut"){
newport();
}
始终评估为true,因为在JavaScript中,如果(a_non_empty_string
(评估为true。
您应该使用过:
if(port == "chennai" || port == "mumbai" || port == "calicut"){
newport();
}
UPDATE
或为了更大的灵活性,请使用正则表达式:
if (port.match(/^chennai|mumbai|calicut$/){
newport();
}
在这里,您可以看到将字符串与多个值进行比较的不同方法:https://www.tjvantoll.com/2013/03/14/better-ways-ways-of-comparing-a-javascript-string-to-multiple-values/
我将首先检查端口保存时的价值是什么,也问自己,为什么如果状态检查古吉拉特邦的情况,为什么需要其他情况。如果在一件事或必须是另一件事的情况下使用/其他。如果它不是三个端口之一(Chennai/Mumbai/Calicut(,那么您不需要再次检查一下。