gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 12:39:45 30 4
gpt4 key购买 nike

我需要使用自定义文本字段过滤 CGridView。我有自定义数据提供者(CSqlDataProvider),我返回并用它填充表格。表格很好,但对我来说似乎很痛苦的是过滤它。我已经花了几个小时试图解决这个问题,但支持很差。我看到有一些用于更新 CGridView 的 jQuery 方法,它采用“数据”参数,我不知道如何格式化其值。这是我在我的/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 和响应内容。

然后就是服务器是否正确处理请求的问题了。您没有提供任何详细信息,所以我帮不了您太多。

关于php - 使用自定义文本字段过滤 CGridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36990432/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com