Рендеринг контента после JavaScript - Zend - PullRequest
1 голос
/ 02 августа 2011

Я не могу выполнить никакую функцию js, запускаемую событием dijit, если не установил файл javascript в самом представлении.

Я установил различные файлы js для использования в моем контроллере следующим образом:

$layout = Zend_Layout::getMvcInstance();
$view = $layout->getView();
$view->headScript()
            ->appendFile('/public/js/jquery-1.5.1.min.js', 'text/javascript')
            ->appendFile('/public/js/jquery-ui-1.8.13.custom.min.js', 'text/javascript')
            ...
            ->appendFile('/public/js/functions.js', 'text/javascript');

, которые отражены в макете:

echo $this->headScript();

примечание: все они загружены

Но когда мое представление отображается, события, связанные сэлементы dijits не запускают функции в functions.js

Например, у меня есть этот элемент dijit:

$business = new Zend_Dojo_Form_Element_FilteringSelect('business');
        $business ->setLabel("Etablissement :")
            -> setStoreId('businessStore')
            -> setStoreType('dojo.data.ItemFileReadStore')
            -> setStoreParams(array('url' => '/public/business/getbusinesses?all=true&'))
            -> setAttrib('searchAttr', 'nom')
            -> setAttrib('onchange',"cB()")
            -> setRequired(true)
            -> setValue('business');

и функция js:

function cB() {
    alert("changed");
}

Нодаже если я оберну cB (), это не сработает:

$(document).ready(function() {
    function cB() {
        alert("changed");
    }
});

Есть ли у Сомоне идея?Я застрял с этой проблемой JavaScript во всем моем приложении Zend = (

спасибо!

...