[英]How do I use jquery with zend framework, without using zendx?
我在布局文件中嘗試過
$(document).ready(function(){alert(“ hello”);});
如何使這個簡單的事情起作用? 我使用echo $ this-> headScript()-> appendFile(....)將jquery包含在布局文件中。
有沒有辦法按原樣使用jquery? 不使用zendx?
布局文件中的以下內容如何:
$this->headScript()->appendFile('/js/jquery.js');
$this->headScript()->appendScript('$(document).ready(function() { alert("hello"); });','text/javascript');
我主要要做的是:
$this->headScript()->appendFile('/js/jquery.js');
$this->headScript()->appendFile('/js/application.js');
$this->headScript()->appendScript('application.init();', 'text/javascript');
echo $this->headScript();
然后是application.js:
var application = {
init : function() {
//do here anything you like
}
}
如果要從控制器中調用特定函數,則應首先將此函數添加到應用程序JS中:
var application = {
init : function() {
//do here anything you like
},
bindChangeEventToSomething : function() {
$('a').click(function() {});
}
}
然后可以在控制器中添加操作:
$this->view->headScript->appendScript(
'application.bindChangeEventToSomething()',
'text/javascript'
);
您應該能夠在不使用ZendX的情況下包含jQuery。 如果您希望將其包含在每個頁面中,請將其添加到引導程序或特定於控制器的控制器中。 以下是將其放入引導程序的示例:
protected function _initView(){
$this->bootstrap('layout');
$layout = $this->getResource('layout');
$view = $layout->getView();
$view->headScript()->appendFile('/js/jquery.min.js');
}
如果您只想在單個控制器/動作中包含一個js文件,則可以在控制器的init /動作中包含它。
$this->view->headScript()->appendFile('/js/index.js');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.