php – 使用自定义文本字段过滤CGridView

前端之家收集整理的这篇文章主要介绍了php – 使用自定义文本字段过滤CGridView前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要使用自定义文本字段过滤CGridView.我有自定义dataprovider(CsqlDataProvider),我返回并填充表.表很好,但对我来说似乎很痛苦的是过滤它.我花了几个小时试图解决这个问题并且支持很差.
我看到有一些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;
    });
");
?>

考虑搜索表单的HTML和PHP

<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()的其他选项.

正如您当前所做的那样使用$(this).serialize()应该使jQuery将br_ind = whatever_the_value_is添加为对服务器的GET请求的查询字符串参数(再次假设您正在使用GET,没有看到使用POST的理由或另一个动词,但没有提供足够的信息).使用浏览器的开发人员工具验证所请求的URL和响应内容.

然后是服务器是否正在正确处理请求.您没有提供任何细节,所以我无法帮助您.

原文链接:https://www.f2er.com/php/136413.html

猜你在找的PHP相关文章