我试图在单击单选按钮时设置 ajax 请求。这是我正在尝试的代码。
<?php echo $form->dropDownListRow($model, 'page', $pages, array('class' => 'span5', 'prompt' => '-- page --')); ?>
<?php echo $form->radioButtonListInlineRow($model, 'for', array('desktop'=>'Desktop', 'mobile'=>'Mobile'), array('ajax' => array(
'type'=>'POST',
'url'=>Yii::app()->createUrl('/admin/adv/loadpositions'), //or $this->createUrl('loadcities') if '$this' extends CController
'update'=>'#Adv_position', //or 'success' => 'function(data){...handle the data in the way you want...}',
'data'=>array('for'=>'js:this.value', 'page' => 'XXXXXXXX'),
)));
?>
我只想将其值及其上字段的值传递给ajax操作。我怎样才能让它实现呢。 'data'=>array('for'=>'js:this.value', 'page' => 'XXXXXXXX'),。 提前致谢。
最佳答案
$(this.form).serialize()
将为您提供表单数据。尝试这样的事情:
<?php
echo $form->radioButtonList($model, 'for', array('desktop'=>'Desktop', 'mobile'=>'Mobile'), array('ajax' => array(
'type'=>'POST',
'url'=>Yii::app()->createUrl('/admin/adv/loadpositions'),
'data'=>array('data'=>'js:$(this.form).serialize()'),
)));
?>
更新:
您可以使用 PHP 函数 parse_str
轻松解析此序列化字符串
<?php
$data = 'str1=value1&str2=value2';
parse_str($data);
echo $str1; //value1
echo $str2; //value2
关于javascript - 如何在 yii activeform 的 ajax 参数上传递额外的数据内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32858850/