Yii框架:这个JQuery代码行意味着什么

时间:2012-01-27 04:18:16

标签: php jquery search yii

  

可能重复:
  Yii framework: Using data from related Active Record models for searching

Yii在管理页面下提供高级搜索功能。

这张照片很好地解释了我的问题。

enter image description here

图片中显示的此功能通过以下代码示例执行。

$('.search-form form').submit(function(){
    $.fn.yiiGridView.update('order-grid', {
        data: $(this).serialize()
    });
    return false;
});

有一个名为search-form的类属性的表单,我们提供搜索条件。根据搜索条件,它会更新名为order的网格视图,该视图由以下代码示例生成。

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'order-grid',
    'dataProvider'=>$model->search(),
    'columns'=>array(
        'id',
        'order_create_date',
        'price',
        'bank_account_number',
        'hardwaredetail_Id',
        'user_id',
        'user.name',
        'user.email',
        ),
} 

订单表与用户表有关系。我想对用户的姓名和电子邮件地址执行搜索功能。但高级搜索功能仅为订单表上的搜索自动生成代码。我正在尝试自定义高级搜索,以便能够搜索关系数据

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:1)

我不太确定你在问什么或者是否可能,但是让我试着解释一下当前代码示例中的内容:

$('.search-form form').submit(function(){
    $.fn.yiiGridView.update('order-grid', {
         data: $(this).serialize()
    });
    return false;
});
  1. 当您通过点击搜索按钮提交表单时,jQuery会停止提交表单。
  2. 相反,它将使用$ .fn.yiiGridView.update函数提交它。
  3. $(this).serialize()获取表单中的所有数据,并将其放入一个易于服务器读取的格式。
  4. 对于其他代码示例,它只是为id为“order-grid”的表单创建HTML。

    现在,转到你希望做的事情。我已经找了一些关于$.fn.yiiGridView.update的例子和文档,这可能能够阐明这一点。这就是我所拥有的:

    1. http://tech.ldg.me/yii-php-framework-snippets
    2. http://code.google.com/p/zii/source/browse/trunk/widgets/assets/gridview/jquery.yiigridview.js?r=65
    3. http://www.yiiframework.com/doc/api/1.1/CGridView
    4. 对不起,我不太了解Yii框架并祝你好运!