2010-02-19 62 views
0

我对zend框架和JQuery帮手很新颖。Zend Framework - jQuery - 更新选择元素的Ajax更新

我一直在玩ajaxLink方法,并想知道是否有一种方法来适应它在表单中的使用。让我解释一下:

我想在窗体中的“选择元素”上添加一个“onChange”属性。当选择元素改变时,我想要有一个ajax调用,类似于ajaxLink方法,它会调用一个控制器动作,然后更新我的视图的一部分,甚至更好,这会更新我内部的文本输入形成。

我有道理吗?我知道我可以自己写一些js来处理动作调用,但是由于它是在ajaxLink方法中自动管理的,所以我认为它们可能是将ajax调用重定向到控制器动作的一种方式“自动”...

事情是,用ajaxlink方法,你在视图中声明它,而不是在窗体中,所以我不知道如何将它添加到我的表单的select元素... 有谁知道如何做到这一点?或者也许有可能与另一个Ajax帮手?

任何帮助将不胜感激! :)

回答

0

检查here

+0

是的!谢谢,这就是我正在谈论的! – Piero 2010-02-21 23:42:53

0

您可以

- 延长Zend_Form_Select;

- 编写自己的装饰器来附加一些javascript来形成元素;

- 将'attribs'=>数组('onchange'=>'alert(“Hi”);')添加到您的表单元素定义中;

但我没有看到任何意义,因为它不可重用。对我来说最narural的方法是:

<?php echo $this->form; ?> 
<?php $this->jQuery()->onLoadCaptureStart(); ?> 
jQuery('#myselect').change(function() { alert('Hi'); }); 
<?php $this->jQuery()->onLoadCaptureEnd(); ?>