在keypress上的Yii2网格视图pjax搜索

时间:2016-02-10 13:33:51

标签: search gridview yii2 keypress pjax

我正在尝试使用按键上的pjax更新yii2网格视图,就像默认情况下在Yii2网格视图中搜索适用于模糊或更改事件。

我正在寻找在keypress上覆盖此功能。

任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:2)

您应该执行以下操作:

  1. 禁用默认提交事件并在过滤器输入上绑定keyup事件。
  2. 更新后关注活动输入
  3. 这是一个简单的工作示例:

    var input;
    var submit_form = false;
    var filter_selector = '#grid-id-filters input';
    
    $("body").on('beforeFilter', "#grid-id" , function(event) {
        return submit_form;
    });
    
    $("body").on('afterFilter', "#grid-id" , function(event) {
        submit_form = false;
    });
    
    $(document)
    .off('keydown.yiiGridView change.yiiGridView', filter_selector)
    .on('keyup', filter_selector, function() {
        input = $(this).attr('name');
    
        if(submit_form === false) {
            submit_form = true;
            $("#grid-id").yiiGridView("applyFilter");
        }
    })
    .on('pjax:success', function() {
        var i = $("[name='"+input+"']");
        var val = i.val();
        i.focus().val(val);
    });
    

    查看:

    <?php \yii\widgets\Pjax::begin(['id' => 'pjax-id']) ?>
    <?= GridView::widget([
        'id'               => 'grid-id',
        'dataProvider'     => $dataProvider,
        'filterModel'      => $filterModel,
        'columns' => [
            'id',
            'title'
        ]
    ]);?>
    <?php \yii\widgets\Pjax::end(); ?>