Yii Datepicker 克隆 jQuery 不工作
Yii Datepicker Cloned with jQuery Not Working
背景:
我正在使用 PHP Yii Framework 和 Javascript 库 jQuery。我有一个用 Yii 创建的表单,其中包含一个数据选择器输入元素。我正在使用 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')
非常感谢任何帮助或指导,提前谢谢。
您已将 date
class 分配给您的日期选择器,并使用 clone
class select 分配给它。我认为问题是它。尝试用 $('.date').clone().append().insertAfter('.date')
替换 $('.clone').clone().append().insertAfter('.clone')
您需要为新元素重新初始化日期选择器
$('.clone').datepicker()
根据您的选择
无法使用绑定事件克隆日期选择器,因为如果这样做,它们将指向原始日期选择器元素。而是在没有任何事件的情况下克隆日期选择器,从克隆的元素中删除 class 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();
示例fiddle:https://jsfiddle.net/b65p24a6/
背景:
我正在使用 PHP Yii Framework 和 Javascript 库 jQuery。我有一个用 Yii 创建的表单,其中包含一个数据选择器输入元素。我正在使用 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')
非常感谢任何帮助或指导,提前谢谢。
您已将 date
class 分配给您的日期选择器,并使用 clone
class select 分配给它。我认为问题是它。尝试用 $('.date').clone().append().insertAfter('.date')
$('.clone').clone().append().insertAfter('.clone')
您需要为新元素重新初始化日期选择器
$('.clone').datepicker()
根据您的选择
无法使用绑定事件克隆日期选择器,因为如果这样做,它们将指向原始日期选择器元素。而是在没有任何事件的情况下克隆日期选择器,从克隆的元素中删除 class 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();
示例fiddle:https://jsfiddle.net/b65p24a6/