MyAssetset:
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
'yii\web\JqueryAsset'
];
}
MyMain.php
已注册此资产:
AppAsset::register($this);
在我的test.php中使用jquery
<div class="container">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<div class='input-group date' id='datetimepicker1'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<script type="text/javascript">
$(function () {
$('#datetimepicker1').datetimepicker();
});
</script>
</div>
</div>
有这个错误:
未捕获的ReferenceError:$未定义
希望你们能帮助我。谢谢!
答案 0 :(得分:0)
这是yii2的默认AppAset.php(此示例用于后端)
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace backend\assets;
use yii\web\AssetBundle;
/**
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
正如您所看到的,没有引用jquery,因为这通常由yii2 Asset bundle管理
尝试将此内容用于Appset.php(最终使用您需要的命名空间),并引用其他jquery资产和我们的寄存器。 这在高级模板
中正常工作答案 1 :(得分:0)
您应该通过资产使用javascript脚本或使用方法registerJs这里是示例
<?php $this->registerJs('$(function () { $(\'#datetimepicker1\').datetimepicker();});', View::POS_END); ?>