【发布时间】:2013-02-04 08:50:15
【问题描述】:
好的。开始了。 我有一个常规的 CGridView 来过滤我的数据。
这是标题:
除“板载”之外的所有过滤器都可以正常工作。问题是:它不适用于“序列化”javascript 阶段。 所以当 jquery.yiigridview.js 运行这段代码时:
$('body').undelegate(inputSelector, 'change').delegate(inputSelector, 'change', function(){
var data = $(inputSelector).serialize();
if(settings.pageVar!==undefined)
data += '&'+settings.pageVar+'=1';
$.fn.yiiGridView.update(id, {data: data});
});
无论我在文本字段中写入什么,Serialize 都会返回“Anketa[onboard]=0”。 我尝试了所有类型的控件(当我认为这是服务器端问题时):
array(
'name' => 'onboard',
'type' => 'raw',
'value'=>'$data->getOnBoardLabel()',
//'filter' => CHtml::activeCheckBox($model,'onboard'),
//'filter' => CHtml::activeDropDownList($model, 'onboard',Lookup::items('onboard')),
'filter' => CHtml::activeTextField($model,'onboard'),
),
什么都没有改变。它仍然不想发送过滤器的正确值。
我该怎么办?
谢谢!!!
【问题讨论】:
-
$model->onboard是什么类型的字段?是数字、文本还是外键? -
只是一个数字。它是 0、1 或 2
-
所以你想放置一个下拉列表作为过滤器?
-
我想让这个过滤器工作。现在它没有任何类型的控件(下拉、单选或文本)。
-
添加了一个答案。请检查它的工作与否
标签: javascript jquery filter yii cgridview