除非在视图中设置javascript文件,否则我无法执行dijit事件触发的任何js函数。
我设置了各种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");
}
});
somone有个主意吗?我在Zend应用程序中遇到了这个javascript问题=(
谢谢!