2011-02-04 30 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'); 
    } 
} 

,我覺得。 (現在進行測試)