我一直在尝试将分页值从选择框传递到我的控制器之一进行分页 我想通过ajax这样做,所以我使用了cakephp观察字段。 我的代码如下:
$options = array('10' => '10', '20' => '20', '50' => '50', '100' => '100');
echo $form->input('pagecount', array(
'id' => 'pagecount', 'name' => 'pagecount', 'type' => 'select',
'options' => $options, 'selected' => '10', 'div' => false, 'label' => false
));
echo $ajax->observeField('pagecount', array(
'with' => '$F("pagecount")', 'url' => array(
'controller' => 'templates', 'action' => 'themes', $template_id
), 'update' => 'themeTable', 'indicator' => 'loaderIDast'
));
问题是我无法获得我在observeField的url参数中提到的控制器中所选选项的值。我已经使用了观察域的和参数。可以在我的firefox网络面板的参数选项卡下看到所选的值。
答案 0 :(得分:1)
您的语法意味着Cake 1.2,但您的问题标记为1.3。你在用哪个?
在Cake 1.3中不推荐使用Ajax帮助程序,功能最多也是狡猾的。其大多数适当的功能都移植到Js助手或Html / Form助手。不推荐使用observeField
方法,并且在Js帮助程序中没有同义词。
如果我猜对了,你正在使用Cake 1.3,我的建议是,只需用普通的javascript写出客户端观察者,然后将结果传回服务器端代码,以同样普通的方式进行处理。花哨的代码片段生成并不适合像这样的一次性或高度可变的情况,它实际上并没有干掉任何东西(这是Js助手的主要观点。)大多数情况下它只是引入了几个额外的层当您尝试调试时的复杂性。
HTH。 :)
答案 1 :(得分:0)
在Cake 1.3中不推荐使用Ajax帮助程序,功能最多也是狡猾的。其大多数适当的功能都移植到Js助手或Html / Form助手。不推荐使用observeField方法,并且在Js帮助程序中没有同义词。