Точно так же, как сказал JohnP, он не изменит раскрывающийся список в зависимости от значения месяца.Я имею в виду - вы можете использовать FormHelper
без какого-либо Javascript в вашем проекте - так как бы он все равно это сделал?
Это было бы довольно крутой функцией, хотя.С помощью jQuery или чего-либо еще вы можете прослушать выпадающие списки за месяц и год и изменить параметры выпадающего списка на основе значения месяца / года. cal_days_in_month () .Это не так сложно сделать, и я думаю, что это может быть включено в Cake 2.0 в качестве дополнительной функции FormHelper.Например, если у вас есть JsHelper
- вы можете его использовать.
Ну, просто потому, что мне немного скучно, я написал этот фрагмент кода jQuery
:
<script type="text/javascript">
$().ready(function()
{
$('#ModelFieldMonth, #ModelFieldYear').change(function()
{
var day = $('#ModelFieldDay').val();
var month = $('#ModelFieldMonth').val();
var year = $('#ModelFieldYear').val();
var days_in_month = new Array();
days_in_month['01'] = 31; days_in_month['02'] = 28; days_in_month['03'] = 31; days_in_month['04'] = 30; days_in_month['05'] = 31; days_in_month['06'] = 30;
days_in_month['07'] = 31; days_in_month['08'] = 31; days_in_month['09'] = 30; days_in_month['10'] = 31; days_in_month['11'] = 30; days_in_month['12'] = 31;
if (year % 4 == 0) { days_in_month['02'] = 29; } // if leap year
$('#ModelFieldDay').find('option').remove();
var i = 0;
for (i = 1; i <= days_in_month[month]; i++)
{
$('#ModelFieldDay').append('<option value="'+i+'">'+i+'</option>')
}
$('#ModelFieldDay').val(day);
});
});
</script>