YII AJAX过滤器中的复选框列表取消选择项目

时间:2014-06-10 09:03:36

标签: yii

我在YII列表视图上有一个ajaxfilter。当我在复选框列表中选择一个项目时,一切正常:ajax调用vacature / index并给出'vacature'我在控制器中处理的正确ID,所以这很好。 (vacature /索引?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}
            );
        });

1 个答案:

答案 0 :(得分:1)

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

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

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

            });