この方の参考にしました(というかまるパクリリスペクト)
d.hatena.ne.jp
jQueryしか使え無いわたしはjQueryに書きかえる
$('#birthDayYear,#birthDayMonth').on({
change : function() {
var dateSelect = $('#birthDayDate');
dateSelect.empty();
var y = $('#birthDayYear').val();
var m = $('#birthDayMonth').val();
if (2 == m && (0 == y % 400 || (0 == y % 4 && 0 != y % 100))) {
var last = 29;
} else {
var last = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)[m - 1];
}
var options = [];
last += 1;
for (var i = 1; i < last; i++) {
var option = $('<option>').attr('value', i).text(i);
options.push(option);
}
dateSelect.append(options);
}
});
$('#birthDayYear,#birthDayMonth,#birthDayDate').on({
change : function() {
var y = $('#birthDayYear').val();
var m = $('#birthDayMonth').val();
var d = $('#birthDayDate').val();
$('#userBirthDayString').val(y + '/' + m + '/' + d);
}
})
view側はこんな感じ
<select id="birthDayYear">
<option value="2015">2015</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
</select>年
<select id="birthDayMonth">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>月
<select id="birthDayDate">
</select>日
<input type="hidden" id="userBirthDayString" name="userBirthDayString" value="1900/01/01">
うるう年判定ってこんなにシンプルなのね。。。すごい。
ありがたやーありがたやーm(_ _ )m