我有一个 CJUIDialog,我在其中使用 renderPartial 加载另一个表单的内容。在该表单中有一个 ajax 按钮,它可以加载另一个表单。该表单包含另一个 ajax 按钮,我需要在其中加载对话框本身内的前一个表单。我试过这样做。但它不起作用。在我的控制器中,我有两种方法可以打印出这样的两种表格。
public function actionNewRecipients(){
$customer = new Customer;
$address = new Address;
$content = $this->renderPartial('_form_new',array('customer'=>$customer,'address'=>$address,'guest'=>true),true);
echo $content;
}
public function actionAddRecipients()
{ $content = $this->renderPartial('_form_inner',array(),true);
echo $content;}
然后在一种形式中,我有 ajax 按钮,例如,
echo CHtml::ajaxSubmitButton(Yii::t('New','New Recipient'),CHtml::normalizeUrl(array('customer/newRecipients')),array('success'=>'js: function(data) {
alert("new");
$("#dialog_gift").html(data);
$("#dialog_gift").dialog("option","title","Select Recipient");
}'));
在另一种形式中,我有 ajax 按钮,例如,
echo CHtml::ajaxSubmitButton(Yii::t('New','New Recipient'),CHtml::normalizeUrl(array('customer/addRecipients')),array('success'=>'js: function(data) {
alert("select");
$("#dialog_gift").html(data);
$("#dialog_gift").dialog("option","title","Select Recipient");
//$("customer-form_inner").attr("action","'.CHtml::normalizeUrl(array('customer/newRecipients')).'")
}'));
CJUIDialog 看起来像,
$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
'id'=>'dialog_gift',
// additional javascript options for the dialog plugin
'options'=>array(
'title'=>$title,
'autoOpen'=>false,
'modal'=>true,
'scrolling'=>'no',
'resizable'=>false,
'scrollable'=>false,
'closeOnEscape' => true,
),
));
echo '<div class="span-24">';
echo $content;
echo '</div>';
$this->endWidget('zii.widgets.jui.CJuiDialog');
最初将加载一个表单内容。
第一个过渡正确发生。但是在我替换了 html 内容之后,加载另一个视图的第二次转换不会发生。
请让我知道是否有人可以提供帮助。
谢谢