@EVOSandru6

Почему в Yii jquery по разному работает в .js файле и в renderPartial файле?

Добрый день,

Есть файл _form.php , который подгружается из create.php через:

renderPartial('_form,['model'=>$model]);

В _form.php есть два элемента с айдишниками:

#add-room и #fireball

Есть некое неудобство,

Из _form.php я могу манипулировать данными элементами:

alert($('#add-room').length + ' : ' + $('#fireball').length);


Возвращает:

1 : 1

Но если данный alert вызываю из scripts.js , то он не видит целевые элементы и возвращается:

0 : 0

И это грустно.

scripts.js подключается в футере главного фала темы main.php :

Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl.'/js/scripts.js');


Странно то, что всякие alert и $('*').hide(); в scripts.js отрабатываются, также из _form.php можно вызывать функции из scripts.js...

На просторах гугла видел похожую проблему, якобы решаемую добавлением данного блока перед renderPartial (якобы дублирются какие то js скрипты), но это не решило проблему.

if (Yii::app()->request->isAjaxRequest)
{
	Yii::app()->getClientScript()->scriptMap =
		[
			'jquery.js' => false,
			'jquery.min.js' => false,
			'jquery-ui.min.js' => false,
			'jquery.ba-bbq.js'=>false,
			'jquery.yiigridview.js'=>false,
		];
}


Мой файл scripts.js без (function($) { ...

И jquery там отрабатывается.

Помогите советом добрые люди!
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 1
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
попробуйте обернуть в timeout вашу функцию, время по желанию выставить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы