创建下面的代码段是为了隐藏或显示下拉菜单,具体取决于所选内容。在下面的情况中:
**TRANSLATION**
If modelyear <= 67
And assyplant=bf
Or modelyear >=68
then display the following dropdowns etc.
我想要的是扩展以下内容:
If modelyear <=67
And assyplant =bf
OR
modelyear <=67
And assyplant =bc
Or modelyear >=68 then display the following dropdowns etc etc etc.
已经有以下工作代码:
// model_year + assy_plant logic
if (thisField == 'model_year' || thisField == 'assy_plant') {
var modelYear = parseInt($('#model_year').children('option:selected').text());
if (isNaN(modelYear)) {
return;
}
var assyPlant = $('#assy_plant').children('option:selected').text();
$('tr#row6').css('display', 'none');
$('tr#row7').css('display', 'none');
$('tr#row6 select').attr('disabled', 'disabled');
$('tr#row7 select').attr('disabled', 'disabled');
if (((modelYear <= 67 && assyPlant.toLowerCase()) == 'bf')
|| modelYear >= 68) {
$('tr#row6').css('display', 'table-row');
$('tr#row6 select').removeAttr('disabled');
} else {
$('tr#row7').css('display', 'table-row');
$('tr#row7 select').removeAttr('disabled');
}
}
我将来可能需要添加额外的assyplant值。谢谢你的时间。
答案 0 :(得分:1)
您可以使用jQuery.inArray()检查assyplant
是否为可能的值之一。
var assyplants = ['bf', 'bc']; // Expandable list of assyPlant values to check for
if ((model_year <= 67 && jQuery.inArray(assyPlant.toLowerCase(), assyplants)!==-1)
|| model_year >= 68)
{ ...
答案 1 :(得分:0)
由于您提到添加其他assyplant值的可能性,我建议将所有可能性存储在数组中,然后使用array.some()方法
var poss_values = ['bf', 'bc'];
var check_assy = poss_values.some(function(val){
return assyPlant.toLowerCase() === val;
})
if ((modelYear <= 67 && check_assy) || modelYear >= 68) {
$('tr#row6').css('display', 'table-row');
$('tr#row6 select').removeAttr('disabled');
} else {
$('tr#row7').css('display', 'table-row');
$('tr#row7 select').removeAttr('disabled');
}
答案 2 :(得分:0)
if (((modelYear <= 67 && assyPlant.toLowerCase()) == 'bf')
|| modelYear >= 68) {
$('tr#row6').css('display', 'table-row');
$('tr#row6 select').removeAttr('disabled');
}
else if (((modelYear <= 67 && assyPlant.toLowerCase()) == 'bc')
|| modelYear >= 68) {
$('tr#row6').css('display', 'table-row');
$('tr#row6 select').removeAttr('disabled');
} else {
$('tr#row7').css('display', 'table-row');
$('tr#row7 select').removeAttr('disabled');
}
}
else {
$('tr#row7').css('display', 'table-row');
$('tr#row7 select').removeAttr('disabled');
}
}
我添加了一个else if语句,因此您可以添加更多assyPlant。当然,您必须为它们分配一个新的var:var values =['bf', 'bc'];