非常感谢这里对新手的任何帮助。我有一个简单的if / else if语句,由于某种原因只能达到第二个条件,即使满足第三个条件。我已经尝试过添加其他东西,尝试了几乎所有东西,但仍然没有。我知道它不起作用,因为我添加了警报触发器,无论它从未达到第三个条件。我在这里错过了什么?我周围环顾了很多,所以如果我在这里打死马,我很抱歉,但我找不到解决办法。我应该注意到,我正在尝试更改选择下拉框的条件。感谢!!!
我的代码:
$('#table_two select:eq(6)').change(function(e){
var allDiv = $('#table_two,#table_three,#table_four');
var parBoxOne = $('#par_one').val();
var totalOne = 1 - parBoxOne;
var totalTwo = 2 - parBoxOne;
if ($(this).val() == "made_shot"){
$(allDiv).hide();
$('#score_one').val(totalOne);
$('#score_total').val($('.score_input').val());
alert('ACE!!');
}
else if ($(this).val() == 'green', 'trees', 'fairway', 'rough', 'sand' ){
$('#score_one').val(totalOne);
$('#score_total').val($('.score_input').val());
$('#table_two').hide();
$('#butt_two').html('Show stroke');
alert('triggered two');
}
else if ($(this).val() == 'other', 'penalty_water', 'penalty_ob', 'penalty_sand' ){
$('#score_one').val(totalTwo);
$('#score_total').val($('.score_input').val());
$('#table_two').hide();
alert('triggered three');
}
});
答案 0 :(得分:5)
您无法使用逗号组合if语句中的多个条件:
<德尔> if ($(this).val() == 'green', 'trees', 'fairway', 'rough', 'sand' )
德尔>
相反,您可以将值列表放入一个数组中,并检查您的值是否在数组中:
var stuff = ['green', 'trees', 'fairway', 'rough', 'sand'];
if ( $.inArray($(this).val(), stuff ) >= 0 )
要在if中组合多个条件,语法就是这个(比上面的长得多):
if ($(this).val() == 'green' || $(this).val() == 'trees' || ... )
答案 1 :(得分:1)
另一种方法:
switch($(this).val()){
case 'made_shot':
$(allDiv).hide();
$('#score_one').val(totalOne);
$('#score_total').val($('.score_input').val());
alert('ACE!!');
break;
case 'green':
case 'trees':
case 'fairway':
case 'rough':
case 'sand':
$('#score_one').val(totalOne);
$('#score_total').val($('.score_input').val());
$('#table_two').hide();
$('#butt_two').html('Show stroke');
alert('triggered two');
break;
case 'other':
case 'penalty_water':
case 'penalty_ob':
case 'penalty_sand':
$('#score_one').val(totalTwo);
$('#score_total').val($('.score_input').val());
$('#table_two').hide();
alert('triggered three');
break;
}
答案 2 :(得分:0)
你不能以这种方式驻扎字符串,你可以使用$.inArray()
函数
而是创建一个值数组:
jQuery.inArray(value,array [,fromIndex])
if($.inArray($(this).val(), ['green', 'trees', 'fairway', 'rough', 'sand']) != -1) {
}