【问题标题】:-Yii- Update listView by AJAX-Yii- 通过 AJAX 更新 listView
【发布时间】:2014-05-22 12:30:26
【问题描述】:

我是 Yii 和 PHP 的新手,我有一个问题。

我需要通过 ajax 过滤从下拉选择中更新 listView,它工作正常,但问题是分页。 我在控制器中过滤结果并将 dataProvider 传递给视图以更改 listView,但是当您从分页器更改页面时,它再次显示所有结果而不是过滤结果。

这是我的代码:

视图(prueba.php):

<?php
echo CHtml::beginForm();

echo CHtml::dropdownList('comunidades',$comunidad,$comunidades,
            array('empty'=>'- -')
    );
echo CHtml::submitButton("Enviar");
echo CHtml::endForm();

$this->widget('zii.widgets.CListView',
    array(
        'itemView'=>'lista',
        'dataProvider'=>$provider_ciudades,
        'id'=>'id_lista_ciudades',
    )
);

Yii::app()->clientScript->registerScript('items_update', "$('#category_id').change(function(){
    $.fn.yiiListView.update('id_lista_ciudades', {
            data: $(this).serialize(),
        }
    );
});
return false;",
CClientScript::POS_READY);?>

控制器(呈现视图的操作):

public function actionprueba(){
    if($_POST['comunidades'] != null)
        $comunidad = $_POST['comunidades'];
    else
        $comunidad = '';

    $criteria_comunidades = new CDbCriteria();
    $criteria_comunidades->select="comunidad";
    $res_comunidades = Ciudad::model()->findAll($criteria_comunidades);
    if($res_comunidades != null)
        $comunidades = CHtml::listData($res_comunidades,'comunidad','comunidad');
    else
        $comunidades = null;

    $criteria_ciudades = new CDbCriteria();//Creiteria para la busqueda de las ciudades.

    if(strlen($comunidad) > 0)
        $criteria_ciudades->addCondition("comunidad='$comunidad'");//Condicion de comunidad.

    $provider_ciudades = new CActiveDataProvider('Ciudad',
        array(
            'pagination'=>array(
                'pageSize'=>3,
            ),
            'criteria'=>$criteria_ciudades 
        )
    );

    $this->render('prueba',
        array(
            'comunidades' => $comunidades,
            'provider_ciudades' => $provider_ciudades,
            'comunidad' => $_POST['comunidades'],
        )
    );
}

感谢您的帮助:)

【问题讨论】:

    标签: php ajax listview drop-down-menu yii


    【解决方案1】:

    好的,我解决了,我需要新的操作来 POST prueba.php 中的数据,并用 ajaxSubmitButton 更改 submitButton 并用 ajax 替换 listView。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-06
      相关资源
      最近更新 更多