CJuiDatePicker小部件的工作有点混乱。当我使用直接URL访问页面时,它工作正常,并按需要显示日历,但问题是当我将页面加载到带有ajax调用的动态部分时,只显示文本字段,但点击后没有显示日历。 / p>
$this->renderPartial('index', array('policyModel' => $policyModel, 'roomModel' => $roomModel, 'formModel' => $formModel,'response' => $response),false,true);
小工具代码
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'name' => 'start_date',
'options' => array(
'dateFormat' => 'yy-mm-dd',
'showAnim' => 'fadeIn',
'changeMonth' => true,
'changeYear' => true,
'yearRange' => '2000:2099',
'minDate' => '+1d',
'maxDate' => '10Y',
),
'htmlOptions' => array(
'readonly' => 'readonly',
'size' => 7,
),
));
任何人都可以帮助我,经过这么多小时的搜索,我发布了这个问题。
答案 0 :(得分:1)
您必须为日期选择器设置唯一ID。我使用php-function uniqid()
这样做$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'id' => 'start_date'.uniqid(),
'name' => 'start_date',
'options' => array(
'dateFormat' => 'yy-mm-dd',
'showAnim' => 'fadeIn',
'changeMonth' => true,
'changeYear' => true,
'yearRange' => '2000:2099',
'minDate' => '+1d',
'maxDate' => '10Y',
),
'htmlOptions' => array(
'readonly' => 'readonly',
'size' => 7,
),
));
祝你好运!
答案 1 :(得分:0)
你需要在ajax更新后重新初始化datepicker。完成Ajax之后,你需要添加以下行:
$('#start_date').datepicker(); //with your options