【问题标题】:Checkboxlist in YII AJAX filter deselecting itemsYII AJAX过滤器中的复选框列表取消选择项目
【发布时间】:2015-03-05 16:54:54
【问题描述】:

我在 YII 列表视图上有一个 ajaxfilter。当我在复选框列表中选择一个项目时,一切正常:ajax 调用 vacature/index 并为“vacature”提供我在控制器中处理的正确 ID,所以这工作正常。 (vacature/index?vacature=13)

现在,当我取消选中同一个项目时,它会执行完全相同的调用,因此它会传递已更改项目的 id。我只需要它不传递取消选中项的 id 和字符串为空。

提前致谢!

echo CHtml::beginForm(CHtml::normalizeUrl(array('vacature/index')), 'get', array('id'=>'filter-vacature'))

echo CHtml::checkBoxList('niveau', (isset($_GET['niveau'])) ? $_GET['niveau'] : '', 
  CHtml::listData(Lov::model()->findAllByAttributes(array('wat'=>'opleiding')), 'id', 'item'),
  array('class'=>'niveau','template'=>'<span class="checkbox-columns">{input} {label}</span>', 'separator'=>'')) 


$('.niveau').change(function(){
            niveau = $('.niveau').serialize();
            $.fn.yiiListView.update(
                'ajaxListView',
                {data: niveau}
            );
        });

【问题讨论】:

  • 你有没有得到这个?我也有同样的问题。
  • 我查看了我的代码,发现我添加了一个空值检查。希望对您有所帮助!

标签: yii


【解决方案1】:

我添加了一个比较来检查字符串是否为空,并传递工作空值:

$('.niveau').change(function(){
                niveau = $('.niveau').serialize();
                if(empty(niveau))
                {
                    niveau = 'niveau%5B%5D=0';
                }

                $.fn.yiiListView.update(
                    'ajaxListView',
                    {data: niveau}
                );

            });

【讨论】:

    猜你喜欢
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 2015-06-26
    • 2021-11-26
    相关资源
    最近更新 更多