как я могу использовать jquery с yii2

Я новичок в структуре Yii (версия 2.0) и хочу добавить на свою страницу код jQuery:

$(document).ready(function(){
    $('div').click(function(){
        $(this).hide()
    });
});  

Этот код скроет div, когда я нажму на него, могу ли я объявить <script> в представлении?

А как я могу написать этот код в jQuery?


person khaled el omar    schedule 26.11.2014    source источник
comment
yiiframework.com/doc-2.0/guide-output-client- scripts.html   -  person Evgeniy Tkachenko    schedule 26.11.2014
comment
Это показывает абсолютно НИКАКИХ усилий, RTFM!   -  person Chilion    schedule 26.11.2014


Ответы (3)


Сначала предложите вам изменить ($this) на $(this) и попробовать что-то вроде этого.

$script = <<< JS
$(document).ready(function(){
    $('div').click(function(){
        $(this).hide()
    });
}); 
JS;
$this->registerJs($script, View::POS_END);

Вы также можете использовать View::POS_HEAD, View::POS_BEGIN & View::POS_READY вместо View::POS_END.

person alamincse07    schedule 26.11.2014
comment
в виду напишите следующее: - person khaled el omar; 28.11.2014
comment
это сработало ‹? php $ this-› registerJs ($ ('div'). click (function () {$ (this) .hide ();});); ? › - person khaled el omar; 28.11.2014

Попробуй, надеюсь, это тебе поможет

<?php

$this->registerJs(' 
    $(document).ready(function(){
         $(\'.classname\').hide();
});', \yii\web\View::POS_READY);

?>
person Kalai S    schedule 19.05.2015

В Yii2 jQuery и другие файлы скриптов по умолчанию располагаются в конце страницы прямо перед закрывающим тегом html. Это хорошо для более быстрой загрузки страницы.

Поэтому, если вы напишете код jQuery посередине страницы, будет $ not defined ошибка. Чтобы решить эту проблему, вы должны написать код jQuery внутри события window.onload:

window.onload=function(){
                        //your jQuery code here
                    };
person temirbek    schedule 03.04.2015
comment
Похоже на грязный раствор. Почему вы должны писать это до jQuery? Вы должны включить его после. Yii2 предоставляет решения для этого, используя зависимости registerJs и пакетов ресурсов. - person arogachev; 03.04.2015
comment
Вы правы, надо включать после. Но в режиме разработки иногда удобнее писать код jQuery прямо под тестовым блоком кода. - person temirbek; 06.04.2015