我需要使用自定义文本字段过滤CGridView.我有自定义dataprovider(CsqlDataProvider),我返回并填充表.表很好,但对我来说似乎很痛苦的是过滤它.我花了几个小时试图解决这个问题并且支持很差.
我看到有一些jQuery方法用于更新CGridView,它需要’data’参数,其值我不知道如何格式化.这是我在/ create文件中我需要这个东西的地方.
我看到有一些jQuery方法用于更新CGridView,它需要’data’参数,其值我不知道如何格式化.这是我在/ create文件中我需要这个东西的地方.
PHP:
<?PHP Yii::app()->clientScript->registerScript('search'," $('.search-form form').submit(function(){ $.fn.yiiGridView.update('studentiSaSmjeraData',{ data: $(this).serialize(),-----------> this should be changed to get data from my text input using GET I guess,but I dont know the format }); return false; }); "); ?>
<div class="search-form"> <p> Pretraga po broju indeksa: </p> <?PHP $form=$this->beginWidget('CActiveForm',array( 'action'=>Yii::app()->createUrl($this->route),'method'=>'get',)); ?> <div class="row"> Broj indeksa: <input type="text" class="br_ind" name="br_ind" id="br_ind" value=""></input> </div> <div class="row buttons"> <?PHP echo CHtml::submitButton('Search'); ?> </div> <?PHP $this->endWidget(); ?> </div>
dataProvider中我希望将此文本与之比较的列称为“br_ind”.
编辑:
似乎输入字段名称和id也必须对此做一些事情(它们应该采用某种特定的格式).我的问题是 – 数据不是来自任何特定模型.它是通过表产品和两个表的一些附加约束获得的,所以我没有特定的模型来使用过滤器或任何在Yii中具有(afaik)支持的模型.但我想要的东西看起来很简单,但对我来说却变成了噩梦.关于函数参数的文档非常糟糕.
希望有人能提供帮助.任何人碰到这个并无法解决它?
$.fn.yiiGridView.update()在幕后使用jQuery的ajax函数(如果为网格启用了ajax更新).您可以查看
details on the data parameter的jQuery文档以及可以传递给.ajax()的其他选项.
原文链接:https://www.f2er.com/php/136413.html正如您当前所做的那样使用$(this).serialize()应该使jQuery将br_ind = whatever_the_value_is添加为对服务器的GET请求的查询字符串参数(再次假设您正在使用GET,没有看到使用POST的理由或另一个动词,但没有提供足够的信息).使用浏览器的开发人员工具验证所请求的URL和响应内容.
然后是服务器是否正在正确处理请求.您没有提供任何细节,所以我无法帮助您.