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

YII AJAX过滤器中的复选框列表取消选择项目,yii,Yii,我在YII列表视图上有一个ajaxfilter。当我在复选框列表中选择一个项目时,一切都正常工作:ajax调用vacuure/index并为“vacuure”提供我在控制器中处理的正确ID,因此这工作正常。(假期/指数?假期=13) 现在,当我取消选中同一项时,它会执行完全相同的调用,因此它会传递已更改项的id。我只需要它不传递取消选中项目的id,并且字符串为空 提前谢谢 echo CHtml::beginForm(CHtml::normalizeUrl(array('vacature/inde

我在YII列表视图上有一个ajaxfilter。当我在复选框列表中选择一个项目时,一切都正常工作:ajax调用vacuure/index并为“vacuure”提供我在控制器中处理的正确ID,因此这工作正常。(假期/指数?假期=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}
            );
        });
echo CHtml::beginForm(CHtml::normalizeUrl(数组('vacation/index')),'get',数组('id'=>'filter-vacation')) echo-CHtml::checkBoxList('niveau',(isset($_-GET['niveau'])?$_-GET['niveau']:'', CHtml::listData(Lov::model()->findAllByAttributes(数组('wat'=>'opleiding')),'id','item'), 数组('class'=>'niveau','template'=>'{input}{label}','separator'=>'') $('.niveau').change(函数(){ niveau=$('.niveau').serialize(); $.fn.yiiListView.update( “ajaxListView”, {数据:niveau} ); });
我添加了一个比较来检查字符串是否为空,并传递工作空值:

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

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

            });

你有什么收获吗?我也有同样的问题。我查找了我的代码,发现我添加了一个空值检查。希望它能帮到你!