分享解决方案我现在正在使用: 向控制器发出ajax请求并使用renderAjax附加视图文件。 同意你使用Yii方式初始化datepicker @ Muhammad Omer Aslam
我试图解决这个问题,但仍然没有运气。
如果有人会建议,那将是很大的帮助。
我在yii2
中添加了文本字段并初始化了datepicker。
我可以看到hasDatepicker
类输入字段但我看不到datepicker。
请看看
这是javascript代码:
$('#all_upcoming_audit_tr_container').on('focus','.upcoming_audit_date',function(){
var id = $(this).attr('id');
$("#"+id).datepicker();
});
这是检查元素代码:
<input id="upcoming_audit_start_date_74449" class="form-control upcoming_audit_date hasDatepicker" name="ManagersChecklistWeekly[any_upcoming_audits_text][74449][start_date]" type="text">
答案 0 :(得分:0)
检查这是否有帮助:
$(document).on('focus','.upcoming_audit_date',function(){
$(this).datepicker();
});
答案 1 :(得分:0)
我建议您使用Yii方式初始化datepicker,这样您就不必担心手动调用javascript或加载js源,让Yii完成剩下的工作。
如果您使用
,可以使用以下方法 <强> With Model & without ActiveForm*
强>
echo DatePicker::widget([
'model' => $model,
'attribute' => 'from_date',
//'language' => 'ru',
//'dateFormat' => 'yyyy-MM-dd',
]);
<强> Without Model & ActiveForm
强>
echo DatePicker::widget([
'name' => 'from_date',
'value' => $value,
//'language' => 'ru',
//'dateFormat' => 'yyyy-MM-dd',
]);
或者
<强> With Model & ActiveForm
强>
<?= $form->field($model, 'from_date')->widget(\yii\jui\DatePicker::className(), [
//'language' => 'ru',
//'dateFormat' => 'yyyy-MM-dd',
]) ?>
修改强>
根据讨论,您正尝试动态初始化datepicker
通过javascript所以这里是初始化输入字段焦点上的datepicker的演示
$('#all_upcoming_audit_tr_container').on('focus', '.upcoming_audit_date', function() {
$(this).datepicker();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div id="all_upcoming_audit_tr_container">
<input type="text" name="datepicker" id="datepicker" class="upcoming_audit_date" />
</div>
只需确保包含所有库并且jquery
不包含两次,否则您的脚本就可以了。查看控制台是否存在与jquery的双重包含相关的任何错误。