2011-11-23 174 views
0

我不知道爲什麼這onChange事件不起作用。也許我已經習慣了代碼,我看不出我的錯誤。我會感激你的幫助:CakePHP onChange事件

<td class="cellInput"> 
    <?php 
    $options = array('200'=>'200', '500'=>'500', '1000'=>'1000', '2000'=>'2000', '5000'=>'5000', 'Outro'=>'Outro'); 
    $attributes = array('legend' => false); 

    echo $form->select('capacidade', $options, array(
     'class' => '', 
     'label' => '', 
     'default' => '200', 
     'onchange' => "javascript:checkForOther(this);", 
    )); 
    ?> 
</td> 
+2

你應該嘗試並接受回答您以前的問題。 – abhinav

回答

0

嘗試

  1. 把屬性作爲第四個參數,而不是第三:

    echo $form->select('capacidade', $options, null, 
        array(
         'class'=>'' 
         ,'label' => '' 
         ,'default' => '200' 
         ,'onchange' => "javascript:checkForOther(this);" 
        ) 
    ); 
    
  2. 是否生成頁面的源代碼有onChange屬性?

  3. documentation
+0

太棒了!非常感謝你們所有人!它做了工作=) –

0

CakePHP documentation on select method,第三個參數是用來選擇哪個選項是默認選中。

必須使用第四個參數通過HTML屬性添加到select元素:

<td class="cellInput"> 
    <?php 
    $options = array('200'=>'200', '500'=>'500', '1000'=>'1000', '2000'=>'2000', '5000'=>'5000', 'Outro'=>'Outro'); 
    $attributes = array('legend'=>false); 
    echo $form->select('capacidade', $options, '200', array('class'=> '', 'label' => '', 'onchange' => "checkForOther(this);")); 
    ?> 
</td> 
2

正如其他人建議,將屬性的正確參數位置。另一件事我會做的是去除javascript和剛剛具備的功能名稱存在,如:

來源:'onchange' => "javascript:checkForOther(this);"

要:'onchange' => "checkForOther(this)"