2017-12-31 98 views
0

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 hat dieses Asset registrieren:

AppAsset::register($this); 

in meinem test.php Verwendung 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> 

Hat diesen Fehler :

Uncaught ReferenceError: $ is not defined

Ich hoffe, ihr könnt mir helfen. Vielen Dank!

+2

Sie haben jQuery aufzunehmen, bevor sie anrufen –

+0

könnte man mehr Zeit mit .. das Asset .. versuchen AppAsset Kommentar :: register ($ this); .. (das Asset wird von Yii direkt beim Bootstrap verwaltet) – scaisEdge

+0

Ich habe Zweifel Ist JqueryAsset bereits jQuery? – JACKY

Antwort

0

sollten Sie Javascript-Skripte verwenden v ia Vermögenswerte oder mit Verfahren registerJs hier ist Beispiel

<?php $this->registerJs('$(function() { $(\'#datetimepicker1\').datetimepicker();});', View::POS_END); ?> 
0

Dies ist der Standard AppAset.php für yii2 (diese Probe ist in Back-End)

<?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 <[email protected]> 
    * @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', 
     ]; 
    } 

Wie man dort sehen kann kein refernce zu jquery ist, weil dies in der Regel durch yii2 Asset-Bundle

verwaltet wird

versuchen für Appset.php diesen Inhalt mit (eventuell mmit die Namespace Sie benötigen) withour Bezug auf andere jquery Asset- und withour Register .. Diese mnormally Arbeit in fortgeschrittener Vorlage

Verwandte Themen