在这里您可以找到我的jQuery代码:
function ledgerSave(){
var option = $('#ledgerType').val();
var ledger = $('#ledgerName').val();
switch( option ) {
case ( option == 0 ) :
alert( 'Select Your Ledger Type' );
break;
case ( option == 1 ) :
/* some code */
break;
case ( option == 2 ) :
/* some code */
break;
case ( option == 3 ) :
/* some code */
break;
}
}
在变量“选项”中,我得到的选择值为0、1、2和3。因此,当变量选项中的值为0时,我会发出警报,但它不会显示警报。我不明白实际的问题在哪里。需要帮忙 !
我也尝试过这个:
function ledgerSave(){
var option = $('#ledgerType').val();
var ledger = $('#ledgerName').val();
switch( option ) {
case 0:
alert( 'Select Your Ledger Type' );
break;
case 1:
/* some code */
break;
case 2:
/* some code */
break;
case 3:
/* some code */
break;
}
}
但是不好
问题是选项是一个字符串,如在开关中您有数字。因此,您应该将选项转换为数字,可以使用一元运算符或使用parseInt()。
程序首先查找case子句,其表达式的计算结果与输入表达式相同(使用严格比较,===),然后将控制权转移到该子句,执行关联的语句。
var option = +$('#ledgerType').val();//or parseInt($('#ledgerType').val(), 10)
注意:您仍然必须使用第二个版本的switch ... case
function ledgerSave() {
var option = +$('#ledgerType').val();
var ledger = $('#ledgerName').val();
switch (option) {
case 0:
alert('Select Your Ledger Type');
break;
case 1:
/* some code */
break;
case 2:
/* some code */
break;
case 3:
/* some code */
break;
}
}
如下所述,另一个选择是使用做字符串比较
function ledgerSave() {
var option = $('#ledgerType').val();
var ledger = $('#ledgerName').val();
switch (option) {
case '0':
alert('Select Your Ledger Type');
break;
case '1':
/* some code */
break;
case '2':
/* some code */
break;
case '3':
/* some code */
break;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句