感谢大家的帮助。我忘了提到我有多 (3) 组天/次要处理。这是我根据您的一些输入提出的解决方案:
/* Contact Form Setup */
var practice_times = [
[
['Tuesday',['Late Afternoon (2.30-5.30pm)','Evening (5.30-8.30pm)']],
['Thursday',['Late Afternoon (2.30-5.30pm)','Evening (5.30-8.30pm)']],
['Friday',['Mid Morning (9am-12pm)','Midday (12-1pm)']]
],
[
['Tuesday',['Early Afternoon (1-2.30pm)','Late Afternoon (2.30-5.30pm)']]
],
[
['Monday',['Mid-morning (9am-12pm)','Midday (12-1pm)','Early Afternoon (1-2.30pm)','Late Afternoon (2.30-5.30pm)']],
['Tuesday',['Mid-morning (9am-12pm)','Midday (12-1pm)','Early Afternoon (1-2.30pm)','Late Afternoon (2.30-5.30pm)']],
['Wednesday',['Mid-morning (9am-12pm)','Midday (12-1pm)','Early Afternoon (1-2.30pm)','Late Afternoon (2.30-5.30pm)']],
['Thursday',['Mid-morning (9am-12pm)','Midday (12-1pm)','Early Afternoon (1-2.30pm)','Late Afternoon (2.30-5.30pm)']],
['Friday',['Mid-morning (9am-12pm)','Midday (12-1pm)','Early Afternoon (1-2.30pm)','Late Afternoon (2.30-5.30pm)']]
]
];
var getDays = function(index) {
practiceIndex = index;
days = [];
for(var i in practice_times[index]) {
days.push(practice_times[index][i][0]);
}
return days;
}
var getTimes = function(index) {
times = practice_times[practiceIndex][index][1];
return times;
}
var updateSelect = function(selectName,optArray) {
//init options
var selectOptions = "<option value='-'>- Preferred " + selectName.charAt(0).toUpperCase() + selectName.substring(1) + " -</option>";
//populate options
for(var i=0; i < optArray.length; i++) {
console.log(optArray[i][0]);
selectOptions+= "<option>" + optArray[i] + "</option>";
}
//add options to select and show
$('.contact-form select[name=' + selectName + ']').empty().append(selectOptions).show();
}
var toggleSelect = function(selectToToggle,selectVal) {
selectToToggle.toggle(selectVal == '-' ? false : true);
}
//Initialise
var practiceIndex = -1;
$('.contact-form .day-time').hide();
$('.contact-form select[name=time]').hide();
//Select change events
$('.contact-form select[name=practice]').on('change',function(){ updateSelect('day',getDays($(this).prop('selectedIndex')-1)); toggleSelect($('.contact-form .day-time'),$(this).val()); });
$('.contact-form select[name=day]').on('change',function(){ updateSelect('time',getTimes($(this).prop('selectedIndex')-1)); toggleSelect($('.contact-form select[name=time]'),$(this).val()); });