linuxdrake
(Linuxdrake)
1
在页面中调用ajax,代码如下
echo CHtml::ajaxsubmitbutton(’’,
Yii::app()->createUrl('/User/addcart'),
array(
'data' =>array('ID'=>$model->id, //商品ID
'[color="#FF0000"][b]qty_item_1[/b][/color]'=>????,
'user'=>Yii::app()->user->id),
'type'=>'POST', // 以POST方式将页面的值传递给后台
'update'=>'$(#buynum).text(data)'
),
array('class'=>'cartbutton')
);
qty_item_1是input文本框的name属性,如下
<input type="text" name="[color="#FF0000"]qty_item_1[/color]" value="1" id="qty_item_1"/>
问题如果在文本框中填入数值,如何调用上面的ajax进行传值,郁闷了好几天,求解 
linuxdrake
(Linuxdrake)
3
jquery我知道的,如果用ajaxsubmitbutton如何获取页面的值呢?
linuxdrake
(Linuxdrake)
4
Yii::app()->createUrl(’/User/addcart’),
array(
‘data’ =>array(‘ID’=>$model->id, //商品ID
‘qty_item_1’=>[color="#FF0000"]“js:$(’#qty_item_1’).text()”[/color],
‘user’=>Yii::app()->user->id),
‘type’=>‘POST’, // 以POST方式将页面的值传递给后台
‘update’=>’$(#buynum).text(data)’
),
如果是以js的形式赋值,也不行,编辑器就报错。
jarlyyn
(Jarlyyn)
5
虽然我不用这个,但我觉得你是搞错了这个函数的功能,和不清楚jquery本身。
yii很多函数都是对jquery的包装。
稍微爬一下代码就知道了。
这个功能就是封装了jquery常用的序列话表单并提交的功能。
爬代码可以发现如下
if(!isset($options['data']) && isset($options['type']))
$options['data']=new CJavaScriptExpression('jQuery(this).parents("form").serialize()');
所以说,data里是一个js表达式
如果需要自己自定义值的话,就传一个js的funciton到整个data里,而不是data的一部分。
顺便说句。
我个人觉得你的做法不对。
应该是序列化整个表单,id放在url里,比较标准。