簡體   English   中英

如何在不使用zendx的情況下將zquery與zend框架一起使用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM