Добрый день,
Есть проблема с вызовом
js кода.
Есть такой кусок в представлении:
Листинг 1:
1. Если я вызываю pium(), он выполняется, но в свою очередь не видит функцию tadam().
2. В главном файле темы main.php в футере подключен файл scripts.js:
<?php Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl.'/js/scripts.js');?>
Всякие алерты в нем выполняются.
в нем есть простая функция
func():
$(document).ready(function()
{
function func()
{
alert("hello");
}
});
Находясь в текущем
action в
листинге 1 вызывается даная функция
func().
И тут обломчик, функция не найдена, хотя если открыть firebug, можно открыть исходы подключаемого файла и там все прописано)
3. Проблемы начались когда я захотел вынести в функцию ajax поиск в
js файл ( В итоге моего быдлокода функция лежит в текущем представлении ). Есть
autocomplete поиска:
Фрагмент:
<?php $this->widget('zii.widgets.jui.CJuiAutoComplete',
[
'name'=>'name',
'value'=>'',
'source'=>Yii::app()->createUrl('hotels/autocomplete'),
'options'=>
[
'showAnim'=>'fold',
'minLength'=>'3',
'select'=>'js:function( event, ui )
{
$("#nameSearch").val( ui.item.label );
$("#nameValue").val( ui.item.label );
// $("#nameID").val( ui.item.id );
// Поиск отеля
// searchHotel();
pium();
return false;
}',
],
'htmlOptions'=>
[
'onfocus' => 'js: this.value = null; $("#nameValue").val(null); $("#selectedvalue").val(null);',
'class' => 'input-xxlarge search-query',
'name' => 'Hotels[name]',
'placeholder' => "Введите первые 3 и более названия",
'id'=>'nameSearch'
],
]);
?>
Если заместо
pium() воткнуть
alert() ,
$('*').hide() либо тело функции, которую я вынес (
searchHotel), то они отрабатывают.
pium() тоже отрабатывается, если он находится не в зоне
jquery, как в
листинге 1. Не отрабатывают вызовы функций в зоне
jquery. В чем может быть причина? Где я тупанул?