2013-05-26 77 views
0

我正在使用Yii框架,我想調用一個PHP函數並返回一個值。Jquery Append + PHP

該值必須附加到div。我嘗試了很多東西,但沒有任何效果。這是越遠,我得到:

echo CHtml::ajaxSubmitButton('add one more', 
    CController::createUrl('cadTabelapreco/UpdateFilho'), 
array('type'=>'POST', 
     'data'=>array('item'=>'CadTabelaprecoi', 
        'i'=>$i,    
     'complete' => 'function(){ 
      $("#data").append($(this).html()); 
     }',   
)); 

我也試試這個:

array('type'=>'POST', 
     'data'=>array('item'=>'CadTabelaprecoi', 
        'i'=>$i, 
        'form'=>$form),    
     'complete' => 'function(ret){ 
      $("#data").append().val(ret); 
     }',   
)); 

的事情是,如果我使用Firebug調試它,我看到響應及其對的,但我可以」 t將值附加到div。怎麼做?

+0

您的html看起來如何?有沒有id'data'的元素?開始調試,添加一個'console.log()'來查看你的函數調用是否正確.. – Nanne

+0

是的,我有這個div,我認爲這是一個jQuery的問題...也許我錯過了一些東西。如果我改變我的完整功能:$(「#data」)。append(「Some Text」); - 一些文本將正確追加... – FryKlaus

+0

試試這個:'$(「#data」)。append(val(ret));' – msoa

回答

0
echo CHtml::ajaxSubmitButton('add one more', 
    CController::createUrl('cadTabelapreco/UpdateFilho'), 
array('type'=>'POST', 
     'data'=>array('item'=>'CadTabelaprecoi', 
        'i'=>$i,    
     'success' => 'function(data){//pass data to success function 
     $("#data").empty();//clear div cause if without you'll stack data in your div  
     $("#data").append(data);//append your url return 
     }',   
)); 

在你的控制器:

public function actionUpdateFilho{ 
/** 
* Do what you need here 
*/ 
echo $result;//form variable string with result wich you want to output(in HTml format wich you need) 
} 

這對我工作的偉大。希望這是有幫助的。

0

問題在於javascript。 jQuery的val()返回輸入元素的值。如果要附加從服務器返回的任何html或文本,最後一行應爲:

$("#data").append(ret);