如何使用yii2 jui / datapicker小部件?

时间:2017-10-30 12:52:13

标签: jquery datepicker yii2

我已经通过作曲家将jui添加到我的项目中,并希望以这样的活动形式使用datepicker:

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\jui\DatePicker;

$form = ActiveForm::begin();
?>

<?= $form->field($course, 'created')->widget(\yii\jui\DatePicker::classname(), [
    //'language' => 'ru',
    //'dateFormat' => 'yyyy-MM-dd',
]) ?>

<?php Html::submitButton("submit"); ?>

<?php ActiveForm::end();?>

现在有两个问题。 1. datepicker显示为一个简单的输入文本html元素,现在有日历 2.我的提交按钮未显示在页面中(即使在检查元素中也没有按钮存在的迹象) 我使用了this但我的数据贴纸问题仍然存在

更新1:这是我在控制台中的错误

Uncaught SyntaxError: Unexpected end of input
jquery-3.2.1.min.js:2 jQuery.Deferred exception: jQuery(...).datepicker is not a function TypeError: jQuery(...).datepicker is not a function
    at HTMLDocument.<anonymous> (http://localhost/panel/course/add:295:27)
    at j (http://localhost/panel/js/jquery-3.2.1.min.js:2:29999)
    at k (http://localhost/panel/js/jquery-3.2.1.min.js:2:30313) undefined
r.Deferred.exceptionHook @ jquery-3.2.1.min.js:2
k @ jquery-3.2.1.min.js:2
setTimeout (async)
(anonymous) @ jquery-3.2.1.min.js:2
i @ jquery-3.2.1.min.js:2
fireWith @ jquery-3.2.1.min.js:2
fire @ jquery-3.2.1.min.js:2
i @ jquery-3.2.1.min.js:2
fireWith @ jquery-3.2.1.min.js:2
ready @ jquery-3.2.1.min.js:2
S @ jquery-3.2.1.min.js:3
jquery-3.2.1.min.js:2 Uncaught TypeError: jQuery(...).datepicker is not a function
    at HTMLDocument.<anonymous> (add:295)
    at j (jquery-3.2.1.min.js:2)
    at k (jquery-3.2.1.min.js:2)

1 个答案:

答案 0 :(得分:0)

以下内容应输出显示点击日历的输入字段。

   <?= $form->field($course, 'created')->widget(\yii\jui\DatePicker::className(), [
        //'language' => 'ru',
        //'dateFormat' => 'yyyy-MM-dd',
    ]) ?>

以下内容应输出日历(请注意inline属性)。

   <?= $form->field($course, 'created')->widget(\yii\jui\DatePicker::className(), [
        //'language' => 'ru',
        //'dateFormat' => 'yyyy-MM-dd',
        'inline' => true
    ]) ?>

Here是JUI Datepicker小部件的Yii2官方文档。

至于按钮 - 你没有回应它。你可以写

<?php echo Html::submitButton("submit"); ?>

或(自PHP 5.4.0起)

<?= Html::submitButton("submit"); ?>