使用jQuery克隆的Yii日期选择器不工作

kmbjn2e3  于 2022-11-09  发布在  jQuery
关注(0)|答案(3)|浏览(197)

背景:

我使用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')

我真的很感激任何帮助或指导提前谢谢你。

lvjbypge

lvjbypge1#

无法使用绑定的事件克隆日期选择器,因为如果这样做,它们将指向原始日期选择器元素。请从克隆的元素中删除hasDatepicker类并初始化日期选择器,而不要克隆没有任何事件的日期选择器。

// 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/

xqnpmsa8

xqnpmsa82#

您已经将date类分配给您的日期选择器,并使用clone类选择它。我认为问题出在这里。尝试将$('.clone').clone().append().insertAfter('.clone')替换为$('.date').clone().append().insertAfter('.date')

1mrurvl1

1mrurvl13#

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

相关问题