javascript - 如何在 yii activeform 的 ajax 参数上传递额外的数据内容?

标签 javascript php jquery ajax yii

我试图在单击单选按钮时设置 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/

相关文章:

javascript - 将嵌套 Promise 中的 catch block 放入内部以触发外部 Promise 的 catch block ,是否有其他更清洁的方法?

javascript - 如何在 AngularJS 中使用 $resource 查询所有内容

php - 从 WooCommerce 中的后元数组变量值获取特定值

jquery - Bootstrap 4 折叠在 flex 中使用时不起作用

jquery - 如何使用 stellar.js(用于滚动的 jquery 插件)?

javascript - 如何找到html内容的高度

javascript - Jquery ajax get 请求在点击功能上不起作用

php - 在浏览器退出时更新数据库

php - 列出月份下的所有记录,以月份为表格行

jquery - 如何垂直对齐中间到多个位置的绝对子div