"Dr John Stockton" <sp**@merlyn.demon.co.uk> wrote in message
news:XC**************@merlyn.demon.co.uk...
JRS: In article <FDfQb.109361$nt4.410819@attbi_s51>, seen in
news:comp.lang.javascript, McKirahan <Ne**@McKirahan.com> posted at Fri,
23 Jan 2004 20:39:01 :-
Here's an ugly solution that populates ten SELECT options with the
starrtingdate and the next nine days: Watch for word-wrap.
Trash.
I did say it was ugly!
I didn't realize that it was incorrect; nor how inefficient it was.
How about
:
<html>
<head>
<title>DDMMYYLZ.htm</title>
<script type="text/javascript">
function LZ(n) {
// add leading zero
return (n<10?"0":"")+n;
}
function OK(former) {
var DA = parseInt(former.DD.options[former.DD.selectedIndex].value);
var MO = parseInt(former.MM.options[former.MM.selectedIndex].value);
var YR = parseInt(former.YY.options[former.YY.selectedIndex].value);
var DT = new Date(YR,MO-1,DA);
if (DT == null) {
alert("Invalid Date");
return;
}
for (var i=0; i<former.ZZ.length; i++) {
var YY = DT.getFullYear();
var MM = DT.getMonth()+1;
var DD = DT.getDate();
former.ZZ.options[i].text = LZ(DD) + "." + LZ(MM) + "." + LZ(YY);
DT.setDate(DT.getDate()+1);
}
}
</script>
</head>
<body>
<form>
<select name="DD">
<option value="1">01<option value="2">02<option value="3">03
<option value="4">04<option value="5">05<option value="6">06
<option value="7">07<option value="8">08<option value="9">09
<option value="10">10<option value="11">11<option value="12">12
<option value="13">13<option value="14">14<option value="15">15
<option value="16">16<option value="17">17<option value="18">18
<option value="19">19<option value="20">20<option value="21">21
<option value="22">22<option value="23">23<option value="24">24
<option value="25">25<option value="26">26<option value="27">27
<option value="28">28<option value="29">29<option value="30">30
<option value="31">31
</select>
<select name="MM">
<option value="1">01<option value="2">02<option value="3">03
<option value="4">04<option value="4">05<option value="6">06
<option value="7">07<option value="8">08<option value="9">09
<option value="10">10<option value="11">11<option value="12">12
</select>
<select name="YY">
<option value="2003">2003<option value="2004">2004
</select>
<input type="button" value="OK" onclick="OK(this.form)">
<br><br>
<select name="ZZ" size="10">
<option><option><option><option><option>
<option><option><option><option><option>
</select>
</form>
</body>
</html>
Note: The OP used a Begin Date and an End Date to fill in a drop-down list
of ten items. This approach lets the "size" of the select determine who
many "options" to generate based only on a Begin Date. Perhaps the OP
wanted a drop=down list of all dates between Begin Date and End Date but it
wasn't stated so I interpreted his requirement to always show ten dates.