Как включить файлы .js после кода javascript, сгенерированного виджлетом Datepicker в файле вида.Yii2 включает активы после кода, генерируемого виджетами
echo DatePicker::widget([
'name' => 'datepicker--2',
'id' => 'datepicker--2',
'clientOptions' => [
'showOtherMonths' => true,
'maxDate' => '+ 0d',
'showOtherMonths' => true,
'selectOtherMonths' => true,
]
]);
Мой пакет активов:
namespace app\assets;
use yii\web\AssetBundle;
class ChartsAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $js = [
'js/charts.js',
'js/charts-init.js',
];
public $depends = [
'yii\web\YiiAsset',
'yii\jui\JuiAsset',
'yii\web\JqueryAsset',
];
}
Что я получаю на моей странице источника:
...
<script src="/new/js/charts.js"></script>
<script src="/new/js/charts-init.js"></script>
<script type="text/javascript">jQuery(document).ready(function() {
$('#datepicker--2').datepicker($.extend({}, {"showOtherMonths":true,"maxDate":"+ 0d","selectOtherMonths":true,"dateFormat":"M d, yy"}));
});</script></body>
</html>
Есть ли причина, по которой вы хотите, чтобы ваши скрипты загружались после кода 'jQuery (document) .ready(), сгенерированного' DatePicker'? Код там только запускается после того, как DOM загрузился в любом случае, включая теги скриптов, которые загружают ваши js-файлы. – deacs
^Что он спросил, какую проблему вы пытаетесь решить, сделав это? –
@deacs charts-init.js содержит jQuery (document) .ready() тоже и должен иметь доступ к инициализированному datepicker. – user1561346