2011-02-04 62 views
2

您好我有这个js,我想重构:需要jQuery重构帮助。将一个数组作为参数传递?


if (jQuery("#monOffHrsFrm").val() != '' && jQuery("#monOffHrsTo").val() != '') { 
    jQuery("#monOffHrsFrm, #monOffHrsTo").removeClass("validationError"); 
} 
if (jQuery("#tueOffHrsFrm").val() != '' && jQuery("#tueOffHrsTo").val() != '') { 
    jQuery("#tueOffHrsFrm, #tueOffHrsTo").removeClass("validationError"); 
} 
if (jQuery("#wedOffHrsFrm").val() != '' && jQuery("#wedOffHrsTo").val() != '') { 
    jQuery("#wedOffHrsFrm, #wedOffHrsTo").removeClass("validationError"); 
} 
if (jQuery("#thuOffHrsFrm").val() != '' && jQuery("#thuOffHrsTo").val() != '') { 
    jQuery("#thuOffHrsFrm, #thuOffHrsTo").removeClass("validationError"); 
} 
if (jQuery("#friOffHrsFrm").val() != '' && jQuery("#friOffHrsTo").val() != '') { 
    jQuery("#friOffHrsFrm, #friOffHrsTo").removeClass("validationError"); 
} 
if (jQuery("#satOffHrsFrm").val() != '' && jQuery("#satOffHrsTo").val() != '') { 
    jQuery("#satOffHrsFrm, #satOffHrsTo").removeClass("validationError"); 
} 
if (jQuery("#sunOffHrsFrm").val() != '' && jQuery("#sunOffHrsTo").val() != '') { 
    jQuery("#sunOffHrsFrm, #sunOffHrsTo").removeClass("validationError"); 
} 

我如何传递一个[周一,周二,周三,周四,周五,周六,太阳]数组和照顾这个用几行?

感谢

+1

呃?你想把它传递给!? – Kissaki 2011-02-04 20:22:51

+0

*噢*我的上帝...... – mattalxndr 2011-02-04 20:25:47

回答

3
var days = ['mon','tue','wed','thu','fri','sat','sun']; 
jQuery.each(days,function(e,day){ 
    var a = '#'+day+'OffHrsFrm', b = '#'+day+'OffHrsTo'; 
    if (jQuery(a).val() != '' && jQuery(b).val() != ''){ 
    jQuery([a,b].join(',')).removeClass('validationError'); 
    } 
}); 

或者作为@Yads指出:

var days = ['mon','tue','wed','thu','fri','sat','sun']; 
for (var d = 0; d < days.length; d++){ 
    var a = '#'+days[d]+'OffHrsFrm', b = '#'+days[d]+'OffHrsTo'; 
    if (jQuery(a).val() != '' && jQuery(b).val() != ''){ 
    jQuery([a,b].join(',')).removeClass('validationError'); 
    } 
} 

,我觉得。 (现在进行测试)