Hi
I have found the following script (see below my signature for full script) which I have adapted to do what I want it to. The options available in the field "Week" change dependant on the selection in field "Chalet".
So that selecting
<OPTION VALUE=1>Cret de la Neige
<OPTION VALUE=2>Dou du Pont
<OPTION VALUE=2>Iamato
<OPTION VALUE=2>Jolie
<OPTION VALUE=2>Olympie
<OPTION VALUE=2>Sapineaux
Gives weeks starting on a Saturday
Selecting <OPTION VALUE=2>Rousillion
gives weeks starting on a Sunday.
Is there a way of just having two arrays, one with Saturday weeks and one with Sunday weeks. Make the script neater and smaller.
If you are not sure what I mean please let me know.
Thanks to jerome.caron@globetrotter.net it is a great script in my opinion.
Thanks.
Purpleski
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<title>test</title>
<link rel="stylesheet" href="styles/default.css" type="text/css">
<head>
<title>Test</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Jerome Caron (jerome.caron@globetrotter.net) -->
<!-- Changes week selectable dependant on chalet -->
team = new Array(
new Array(
new Array("Saturday 13/12/2003", 1),
new Array("Saturday 20/12/2003", 2),
new Array("Saturday 27/12/2003", 3),
new Array("Saturday 03/01/2004", 4),
new Array("Saturday 10/01/2004", 5),
new Array("Saturday 17/01/2004", 6),
new Array("Saturday 24/01/2004", 7),
new Array("Saturday 31/01/2004", 8),
new Array("Saturday 07/02/2004", 9),
new Array("Saturday 14/02/2004", 10),
new Array("Saturday 21/02/2004", 11),
new Array("Saturday 28/02/2004", 12),
new Array("Saturday 06/03/2004", 13),
new Array("Saturday 13/03/2004", 14),
new Array("Saturday 20/03/2004", 15),
new Array("Saturday 27/03/2004", 16),
new Array("Saturday 03/04/2004", 17),
new Array("Saturday 10/04/2004", 18),
new Array("Saturday 17/04/2004", 19)
),
new Array(
new Array("Saturday 13/12/2003", 21),
new Array("Saturday 20/12/2003", 22),
new Array("Saturday 27/12/2003", 23),
new Array("Saturday 03/01/2004", 24),
new Array("Saturday 10/01/2004", 25),
new Array("Saturday 17/01/2004", 26),
new Array("Saturday 24/01/2004", 27),
new Array("Saturday 31/01/2004", 28),
new Array("Saturday 07/02/2004", 29),
new Array("Saturday 14/02/2004", 30),
new Array("Saturday 21/02/2004", 31),
new Array("Saturday 28/02/2004", 32),
new Array("Saturday 06/03/2004", 33),
new Array("Saturday 13/03/2004", 34),
new Array("Saturday 20/03/2004", 35),
new Array("Saturday 27/03/2004", 36),
new Array("Saturday 03/04/2004", 37),
new Array("Saturday 10/04/2004", 38),
new Array("Saturday 17/04/2004", 39)
),
new Array(
new Array("Saturday 13/12/2003", 41),
new Array("Saturday 20/12/2003", 42),
new Array("Saturday 27/12/2003", 43),
new Array("Saturday 03/01/2004", 44),
new Array("Saturday 10/01/2004", 45),
new Array("Saturday 17/01/2004", 46),
new Array("Saturday 24/01/2004", 47),
new Array("Saturday 31/01/2004", 48),
new Array("Saturday 07/02/2004", 49),
new Array("Saturday 14/02/2004", 50),
new Array("Saturday 21/02/2004", 51),
new Array("Saturday 28/02/2004", 52),
new Array("Saturday 06/03/2004", 53),
new Array("Saturday 13/03/2004", 54),
new Array("Saturday 20/03/2004", 55),
new Array("Saturday 27/03/2004", 56),
new Array("Saturday 03/04/2004", 57),
new Array("Saturday 10/04/2004", 58),
new Array("Saturday 17/04/2004", 59)
),
new Array(
new Array("Saturday 13/12/2003", 61),
new Array("Saturday 20/12/2003", 62),
new Array("Saturday 27/12/2003", 63),
new Array("Saturday 03/01/2004", 64),
new Array("Saturday 10/01/2004", 65),
new Array("Saturday 17/01/2004", 66),
new Array("Saturday 24/01/2004", 67),
new Array("Saturday 31/01/2004", 68),
new Array("Saturday 07/02/2004", 69),
new Array("Saturday 14/02/2004", 70),
new Array("Saturday 21/02/2004", 71),
new Array("Saturday 28/02/2004", 72),
new Array("Saturday 06/03/2004", 73),
new Array("Saturday 13/03/2004", 74),
new Array("Saturday 20/03/2004", 75),
new Array("Saturday 27/03/2004", 76),
new Array("Saturday 03/04/2004", 77),
new Array("Saturday 10/04/2004", 78),
new Array("Saturday 17/04/2004", 79)
),
new Array(
new Array("Saturday 13/12/2003", 81),
new Array("Saturday 20/12/2003", 82),
new Array("Saturday 27/12/2003", 83),
new Array("Saturday 03/01/2004", 84),
new Array("Saturday 10/01/2004", 85),
new Array("Saturday 17/01/2004", 86),
new Array("Saturday 24/01/2004", 87),
new Array("Saturday 31/01/2004", 88),
new Array("Saturday 07/02/2004", 89),
new Array("Saturday 14/02/2004", 90),
new Array("Saturday 21/02/2004", 91),
new Array("Saturday 28/02/2004", 92),
new Array("Saturday 06/03/2004", 93),
new Array("Saturday 13/03/2004", 94),
new Array("Saturday 20/03/2004", 95),
new Array("Saturday 27/03/2004", 96),
new Array("Saturday 03/04/2004", 97),
new Array("Saturday 10/04/2004", 98),
new Array("Saturday 17/04/2004", 99)
),
new Array(
new Array("Sunday 14/12/2003", 101),
new Array("Sunday 21/12/2003", 102),
new Array("Sunday 28/12/2003", 103),
new Array("Sunday 04/01/2004", 104),
new Array("Sunday 11/01/2004", 105),
new Array("Sunday 18/01/2004", 106),
new Array("Sunday 29/01/2004", 107),
new Array("Sunday 01/02/2004", 108),
new Array("Sunday 08/02/2004", 109),
new Array("Sunday 15/02/2004", 110),
new Array("Sunday 22/02/2004", 111),
new Array("Sunday 29/02/2004", 112),
new Array("Sunday 07/03/2004", 113),
new Array("Sunday 14/03/2004", 114),
new Array("Sunday 21/03/2004", 115),
new Array("Sunday 28/03/2004", 116),
new Array("Sunday 04/04/2004", 117),
new Array("Sunday 11/04/2004", 118),
new Array("Sunday 18/04/2004", 119)
),
new Array(
new Array("Saturday 13/12/2003", 121),
new Array("Saturday 20/12/2003", 122),
new Array("Saturday 27/12/2003", 123),
new Array("Saturday 03/01/2004", 124),
new Array("Saturday 10/01/2004", 125),
new Array("Saturday 17/01/2004", 126),
new Array("Saturday 24/01/2004", 127),
new Array("Saturday 31/01/2004", 128),
new Array("Saturday 07/02/2004", 129),
new Array("Saturday 14/02/2004", 120),
new Array("Saturday 21/02/2004", 131),
new Array("Saturday 28/02/2004", 132),
new Array("Saturday 06/03/2004", 133),
new Array("Saturday 13/03/2004", 134),
new Array("Saturday 20/03/2004", 135),
new Array("Saturday 27/03/2004", 136),
new Array("Saturday 03/04/2004", 137),
new Array("Saturday 10/04/2004", 138),
new Array("Saturday 17/04/2004", 139)
)
);
function fillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem) {
var i, j;
var prompt;
// empty existing items
for (i = selectCtrl.options.length; i >= 0; i--) {
selectCtrl.options = null;
}
prompt = (itemArray != null) ? goodPrompt : badPrompt;
if (prompt == null) {
j = 0;
}
else {
selectCtrl.options[0] = new Option(prompt);
j = 1;
}
if (itemArray != null) {
// add new items
for (i = 0; i < itemArray.length; i++) {
selectCtrl.options[j] = new Option(itemArray[0]);
if (itemArray[1] != null) {
selectCtrl.options[j].value = itemArray[1];
}
j++;
}
// select first item (prompt) for sub list
selectCtrl.options[0].selected = true;
}
}
</script>
</head>
<body>
<table border="1">
<tr>
<td><FORM NAME="main">
<SELECT class="textbox" NAME="chalet" onChange="fillSelectFromArray(this.form.requiredweek, ((this.selectedIndex == -1) ? null : team[this.selectedIndex-1]));" tabindex="5">
<OPTION VALUE="-1">Please Select Chalet
<OPTION VALUE=1>Cret de la Neige
<OPTION VALUE=2>Dou du Pont
<OPTION VALUE=2>Iamato
<OPTION VALUE=2>Jolie
<OPTION VALUE=2>Olympie
<OPTION VALUE=2>Rousillion
<OPTION VALUE=2>Sapineaux
</SELECT>
<SELECT class="textbox" NAME="week" SIZE="1" tabindex="6">
<OPTION>Select Week </OPTION>
<OPTION> </OPTION>
<OPTION> </OPTION>
<OPTION> </OPTION>
<OPTION> </OPTION>
</SELECT>
</FORM></td>
<td></td>
</tr>
</table>
I have found the following script (see below my signature for full script) which I have adapted to do what I want it to. The options available in the field "Week" change dependant on the selection in field "Chalet".
So that selecting
<OPTION VALUE=1>Cret de la Neige
<OPTION VALUE=2>Dou du Pont
<OPTION VALUE=2>Iamato
<OPTION VALUE=2>Jolie
<OPTION VALUE=2>Olympie
<OPTION VALUE=2>Sapineaux
Gives weeks starting on a Saturday
Selecting <OPTION VALUE=2>Rousillion
gives weeks starting on a Sunday.
Is there a way of just having two arrays, one with Saturday weeks and one with Sunday weeks. Make the script neater and smaller.
If you are not sure what I mean please let me know.
Thanks to jerome.caron@globetrotter.net it is a great script in my opinion.
Thanks.
Purpleski
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<title>test</title>
<link rel="stylesheet" href="styles/default.css" type="text/css">
<head>
<title>Test</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Jerome Caron (jerome.caron@globetrotter.net) -->
<!-- Changes week selectable dependant on chalet -->
team = new Array(
new Array(
new Array("Saturday 13/12/2003", 1),
new Array("Saturday 20/12/2003", 2),
new Array("Saturday 27/12/2003", 3),
new Array("Saturday 03/01/2004", 4),
new Array("Saturday 10/01/2004", 5),
new Array("Saturday 17/01/2004", 6),
new Array("Saturday 24/01/2004", 7),
new Array("Saturday 31/01/2004", 8),
new Array("Saturday 07/02/2004", 9),
new Array("Saturday 14/02/2004", 10),
new Array("Saturday 21/02/2004", 11),
new Array("Saturday 28/02/2004", 12),
new Array("Saturday 06/03/2004", 13),
new Array("Saturday 13/03/2004", 14),
new Array("Saturday 20/03/2004", 15),
new Array("Saturday 27/03/2004", 16),
new Array("Saturday 03/04/2004", 17),
new Array("Saturday 10/04/2004", 18),
new Array("Saturday 17/04/2004", 19)
),
new Array(
new Array("Saturday 13/12/2003", 21),
new Array("Saturday 20/12/2003", 22),
new Array("Saturday 27/12/2003", 23),
new Array("Saturday 03/01/2004", 24),
new Array("Saturday 10/01/2004", 25),
new Array("Saturday 17/01/2004", 26),
new Array("Saturday 24/01/2004", 27),
new Array("Saturday 31/01/2004", 28),
new Array("Saturday 07/02/2004", 29),
new Array("Saturday 14/02/2004", 30),
new Array("Saturday 21/02/2004", 31),
new Array("Saturday 28/02/2004", 32),
new Array("Saturday 06/03/2004", 33),
new Array("Saturday 13/03/2004", 34),
new Array("Saturday 20/03/2004", 35),
new Array("Saturday 27/03/2004", 36),
new Array("Saturday 03/04/2004", 37),
new Array("Saturday 10/04/2004", 38),
new Array("Saturday 17/04/2004", 39)
),
new Array(
new Array("Saturday 13/12/2003", 41),
new Array("Saturday 20/12/2003", 42),
new Array("Saturday 27/12/2003", 43),
new Array("Saturday 03/01/2004", 44),
new Array("Saturday 10/01/2004", 45),
new Array("Saturday 17/01/2004", 46),
new Array("Saturday 24/01/2004", 47),
new Array("Saturday 31/01/2004", 48),
new Array("Saturday 07/02/2004", 49),
new Array("Saturday 14/02/2004", 50),
new Array("Saturday 21/02/2004", 51),
new Array("Saturday 28/02/2004", 52),
new Array("Saturday 06/03/2004", 53),
new Array("Saturday 13/03/2004", 54),
new Array("Saturday 20/03/2004", 55),
new Array("Saturday 27/03/2004", 56),
new Array("Saturday 03/04/2004", 57),
new Array("Saturday 10/04/2004", 58),
new Array("Saturday 17/04/2004", 59)
),
new Array(
new Array("Saturday 13/12/2003", 61),
new Array("Saturday 20/12/2003", 62),
new Array("Saturday 27/12/2003", 63),
new Array("Saturday 03/01/2004", 64),
new Array("Saturday 10/01/2004", 65),
new Array("Saturday 17/01/2004", 66),
new Array("Saturday 24/01/2004", 67),
new Array("Saturday 31/01/2004", 68),
new Array("Saturday 07/02/2004", 69),
new Array("Saturday 14/02/2004", 70),
new Array("Saturday 21/02/2004", 71),
new Array("Saturday 28/02/2004", 72),
new Array("Saturday 06/03/2004", 73),
new Array("Saturday 13/03/2004", 74),
new Array("Saturday 20/03/2004", 75),
new Array("Saturday 27/03/2004", 76),
new Array("Saturday 03/04/2004", 77),
new Array("Saturday 10/04/2004", 78),
new Array("Saturday 17/04/2004", 79)
),
new Array(
new Array("Saturday 13/12/2003", 81),
new Array("Saturday 20/12/2003", 82),
new Array("Saturday 27/12/2003", 83),
new Array("Saturday 03/01/2004", 84),
new Array("Saturday 10/01/2004", 85),
new Array("Saturday 17/01/2004", 86),
new Array("Saturday 24/01/2004", 87),
new Array("Saturday 31/01/2004", 88),
new Array("Saturday 07/02/2004", 89),
new Array("Saturday 14/02/2004", 90),
new Array("Saturday 21/02/2004", 91),
new Array("Saturday 28/02/2004", 92),
new Array("Saturday 06/03/2004", 93),
new Array("Saturday 13/03/2004", 94),
new Array("Saturday 20/03/2004", 95),
new Array("Saturday 27/03/2004", 96),
new Array("Saturday 03/04/2004", 97),
new Array("Saturday 10/04/2004", 98),
new Array("Saturday 17/04/2004", 99)
),
new Array(
new Array("Sunday 14/12/2003", 101),
new Array("Sunday 21/12/2003", 102),
new Array("Sunday 28/12/2003", 103),
new Array("Sunday 04/01/2004", 104),
new Array("Sunday 11/01/2004", 105),
new Array("Sunday 18/01/2004", 106),
new Array("Sunday 29/01/2004", 107),
new Array("Sunday 01/02/2004", 108),
new Array("Sunday 08/02/2004", 109),
new Array("Sunday 15/02/2004", 110),
new Array("Sunday 22/02/2004", 111),
new Array("Sunday 29/02/2004", 112),
new Array("Sunday 07/03/2004", 113),
new Array("Sunday 14/03/2004", 114),
new Array("Sunday 21/03/2004", 115),
new Array("Sunday 28/03/2004", 116),
new Array("Sunday 04/04/2004", 117),
new Array("Sunday 11/04/2004", 118),
new Array("Sunday 18/04/2004", 119)
),
new Array(
new Array("Saturday 13/12/2003", 121),
new Array("Saturday 20/12/2003", 122),
new Array("Saturday 27/12/2003", 123),
new Array("Saturday 03/01/2004", 124),
new Array("Saturday 10/01/2004", 125),
new Array("Saturday 17/01/2004", 126),
new Array("Saturday 24/01/2004", 127),
new Array("Saturday 31/01/2004", 128),
new Array("Saturday 07/02/2004", 129),
new Array("Saturday 14/02/2004", 120),
new Array("Saturday 21/02/2004", 131),
new Array("Saturday 28/02/2004", 132),
new Array("Saturday 06/03/2004", 133),
new Array("Saturday 13/03/2004", 134),
new Array("Saturday 20/03/2004", 135),
new Array("Saturday 27/03/2004", 136),
new Array("Saturday 03/04/2004", 137),
new Array("Saturday 10/04/2004", 138),
new Array("Saturday 17/04/2004", 139)
)
);
function fillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem) {
var i, j;
var prompt;
// empty existing items
for (i = selectCtrl.options.length; i >= 0; i--) {
selectCtrl.options = null;
}
prompt = (itemArray != null) ? goodPrompt : badPrompt;
if (prompt == null) {
j = 0;
}
else {
selectCtrl.options[0] = new Option(prompt);
j = 1;
}
if (itemArray != null) {
// add new items
for (i = 0; i < itemArray.length; i++) {
selectCtrl.options[j] = new Option(itemArray[0]);
if (itemArray[1] != null) {
selectCtrl.options[j].value = itemArray[1];
}
j++;
}
// select first item (prompt) for sub list
selectCtrl.options[0].selected = true;
}
}
</script>
</head>
<body>
<table border="1">
<tr>
<td><FORM NAME="main">
<SELECT class="textbox" NAME="chalet" onChange="fillSelectFromArray(this.form.requiredweek, ((this.selectedIndex == -1) ? null : team[this.selectedIndex-1]));" tabindex="5">
<OPTION VALUE="-1">Please Select Chalet
<OPTION VALUE=1>Cret de la Neige
<OPTION VALUE=2>Dou du Pont
<OPTION VALUE=2>Iamato
<OPTION VALUE=2>Jolie
<OPTION VALUE=2>Olympie
<OPTION VALUE=2>Rousillion
<OPTION VALUE=2>Sapineaux
</SELECT>
<SELECT class="textbox" NAME="week" SIZE="1" tabindex="6">
<OPTION>Select Week </OPTION>
<OPTION> </OPTION>
<OPTION> </OPTION>
<OPTION> </OPTION>
<OPTION> </OPTION>
</SELECT>
</FORM></td>
<td></td>
</tr>
</table>