fn.yiiListView.update无法读取未定义的属性'ajaxType'

时间:2014-05-24 18:31:56

标签: php yii

我收到此错误。看起来它没有看到我的clistview的ID,它甚至没有出现在检查上,这很奇怪。

但我给它一个id ..

<?php $this->widget('zii.widgets.CListView', array(
        'id'=>'how',
        'dataProvider'=>$dataProvider,
        'itemView'=>'_view',
        'template'=>'{items} {pager}',
        'pager' => array(
                'class' => 'ext.infiniteScroll.IasPager',
                'rowSelector'=>'.left-pwrapper',
                'listViewId' => 'how',
                'header' => '',
                'loaderText'=>'Loading...',
                'options'=>array('onRenderComplete'=>'js:function () {
                       $.each($(".left-pwrapper"), function(){
                           if(typeof $.fn.yiiListView.settings["\'"+$(this).attr("id")+"\'"]=="undefined")
                              $(this).yiiListView();
                     });
                 }')),
    )); ?>

当我去元素检查时,错误显示在这里:

$.fn.yiiListView.update = function(id, options) {
        var customError,
            settings = $.fn.yiiListView.settings[id];

        if (options && options.error !== undefined) {
            customError = options.error;
            delete options.error;
        }

        options = $.extend({
            type: settings.ajaxType,
            url: $.fn.yiiListView.getUrl(id),
[[[Cannot read property 'ajaxType' of undefined ]]]

3 个答案:

答案 0 :(得分:0)

我看到了thisthisthis问题的答案,但没有一个能解决我的问题。

为我解决的问题是,在我调用ajaxUpdate的js调用中设置yiiListView的{​​{1}}选项,如下所示:

update

答案 1 :(得分:0)

我尝试了以下代码,它为我工作。您可以尝试一下

  1. 将$ listView变量分配给$ this-> widget
<?php $listView = $this->widget('zii.widgets.CListView', array(...)); ?>
  1. 在包含列表视图的视图末尾添加代码
<?php
    $id = $listView->htmlOptions['id'];
    $options = $listView->registerClientScript();
?>
<script type='text/javascript'>
    /*<![CDATA[*/
    jQuery(function($) {
        jQuery('#<?php echo $id; ?>').yiiListView(<?php echo $options; ?>);
    });
    /*]]>*/
</script>

答案 2 :(得分:-2)

使用功能时

$.fn.yiiListView.update('id');

请勿使用#

不正确:

 $.fn.yiiListView.update('#myList');

正确:

$.fn.yiiListView.update('myList');