Yii Datepicker克隆了jQuery Not Working

时间:2015-04-18 10:00:08

标签: jquery yii datepicker

背景

我正在使用PHP Yii Framework和Javascript库jQuery。我有一个用Yii创建的表单,其中包含一个datapicker输入元素。我正在使用jQuery来克隆datepicker输入。

问题:

我遇到的问题是新克隆的datepicker不起作用。

HTML / PHP:

   <div class="clone">
       <?php 
           $this->widget(
               'zii.widgets.jui.CJuiDatePicker',
               array(
                   'model'=>$model,
                   'attribute'=>'Date',
                   'value'=>$model->date,
                   'options'=>array(
                   'changeMonth'=>true,
                   'changeYear'=>true,
                   'showButtonPanel'=>true,
                   'autoSize'=>true,
                   'dateFormat'=>'yy-mm-dd',
                   'defaultDate'=>$model->date,
               ),
               'htmlOptions'=>array(
                   'class'=>'date'
               ),
           ));
    </div>

jQuery的:

$('.clone').clone().append().insertAfter('.clone')

我非常感谢您提前感谢任何帮助或指导。

3 个答案:

答案 0 :(得分:1)

无法使用绑定事件克隆Datepicker,因为如果这样做,它们将指向原始的datepicker元素。而是在没有任何事件的情况下克隆datepicker,从克隆元素中删除类hasDatepicker并初始化datepicker。

// Cloning the original element
$clonedElement = $('.clone').clone().insertAfter('.clone');
// For some reason class hasDatepicker must be removed before init, otherwise it wont work
$clonedElement.find('input[name="Model[Date]"]').removeClass('hasDatepicker').datepicker();

示例小提琴:https://jsfiddle.net/b65p24a6/

答案 1 :(得分:0)

您已将date课程分配给日期选择器,并使用clone课程选择它。我认为问题在于此。尝试将$('.clone').clone().append().insertAfter('.clone')替换为$('.date').clone().append().insertAfter('.date')

答案 2 :(得分:0)

您需要为新元素重新初始化日期选择器 $('.clone').datepicker()带有您的选项