2011-10-25 64 views
0

我一直在嘗試將分頁值從選擇框傳遞給我的控制器之一進行分頁 我想通過ajax來做到這一點,所以我用cakephp觀察字段。 我的代碼如下:不能從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.I的網址PARAM提到的控制器所選擇的選項的值已經使用了 PARAM的爲此this.I可以在我的firefox網絡面板的參數標籤下看到選定的值。

回答

1

您的語法意味着Cake 1.2,但您的問題標記爲1.3。你在用哪個?

在Cake 1.3中不推薦使用Ajax幫助程序,功能最多也不過分。它的大部分適當的功能被移植到Js helper或Html/Form助手。 observeField方法已被棄用,並且在Js helper中沒有同義詞。

如果我的猜測是正確的,並且您使用的是Cake 1.3,我的建議是,只需在普通JavaScript中寫出客戶端觀察者,並將結果傳回給服務器端代碼,以便在普通方式。花哨的代碼片段代碼並不適合這樣的一次性或高度可變的情況,它不會真的幹掉任何東西(這是Js helper的主要觀點)。它通常會引入一些額外的層您嘗試調試時的複雜性。

HTH。 :)

0

在Cake 1.3中不推薦使用Ajax幫助程序,功能最好不過了。它的大部分適當的功能被移植到Js helper或Html/Form助手。 observeField方法已被棄用,並且在Js helper中沒有同義詞。