当页面加载ajax但是使用直接URL访问时,Yii CJuiDatePicker不起作用

时间:2014-10-01 11:40:01

标签: php yii widget

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,
    ),
));

任何人都可以帮助我,经过这么多小时的搜索,我发布了这个问题。

2 个答案:

答案 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