2017-04-19 15 views
0

我有一个表单提交时通过验证,并通过验证检查时调用一个函数。现在我想要做的是取决于变量的值,表单必须提交给不同的函数。如何根据条件提交表单到不同的功能jquery

$('#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()被称为不管端口值是什么。如果端口值是chennai,mumbai或calicut,我想调用newport()函数。如果端口值是古吉拉特邦,则应调用gujaratport()。现在无论什么值newport()函数被调用。

+0

你能否更新你的问题来添加相关的HTML? – Sharlike

回答

0

我会通过检查哪个端口的价值时,它的保存,也问自己,为什么你需要一个否则,如果状态检查古吉拉特的情况下启动。如果/否则用于一件事情或者另一件事情。如果它不是三个港口(钦奈/孟买/卡利卡特)之一,那么你不需要再检查一次。

1

你的第一个条件:

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-of-comparing-a-javascript-string-to-multiple-values/