所以我最初有一个日期选择器,禁止用户选择当天之前的几天。
然后,我决定添加一个函数DisableMondays
,它会禁用所有星期一。
但是当我添加函数时,事实证明我可以在几天之前选择。它取代了minDate : 0
函数。
以下是我的代码,
<script>
function DisableMonday(date) {
var day = date.getDay();
if (day == 1) {
return [false] ;
}
else {
return [true] ;
}
}
$(function() {
$( "#Booking_date" ).datepicker({
beforeShowDay: DisableMonday
});
});
</script>
<?php $form->widget('zii.widgets.jui.CJuiDatePicker', array(
'model' => $model,
'attribute' => 'date',
'value' => $model->date,
'options' => array(
'showAnim'=>'fadeIn',
'showButtonPanel' => true,
'minDate'=>'0',
'changeYear' => true,
'dateFormat' => 'yy-mm-dd',
),
));
?>
请帮我解决这个问题。非常感谢你们。
答案 0 :(得分:2)
很简单。
您必须在'beforeShowDay' => 'js:DisableMonday'
PHP数组中编写options
,而不是在Javascript中编写。
正确的语法是'beforeShowDay' => 'js:DisableMonday'
<script>
function DisableMonday(date) {
var day = date.getDay();
if (day == 1) {
return [false] ;
}
else {
return [true] ;
}
}
</script>
<?php
$form->widget('zii.widgets.jui.CJuiDatePicker', array(
'model' => $model,
'attribute' => 'date',
'value' => $model->date,
'options' => array(
'showAnim'=>'fadeIn',
'showButtonPanel' => true,
'minDate'=>'0',
'changeYear' => true,
'dateFormat' => 'yy-mm-dd',
'beforeShowDay' => 'js:DisableMonday',
),
));
?>