Javascript bootstarp.widgets.TbButtonColumn中的“未捕获的TypeError:无法读取null的属性'addClass'错误”

Javascript bootstarp.widgets.TbButtonColumn中的“未捕获的TypeError:无法读取null的属性'addClass'错误”,javascript,php,jquery,twitter-bootstrap,yii,Javascript,Php,Jquery,Twitter Bootstrap,Yii,我正在尝试为bootstrap.widgets.TbExtendedGridView配置bootstarp.widgets.TbButtonColumn,我使用了他们网站上的教程。但是,我得到了以下错误UncaughtTypeError:无法在bootstrapEditable.js:1098处读取null的属性'addClass'。我很难找出错误的根本原因。我们将非常感谢您对我们的任何帮助。我正在使用以下代码 <?php $this->widget('bootstrap.widge

我正在尝试为bootstrap.widgets.TbExtendedGridView配置bootstarp.widgets.TbButtonColumn,我使用了他们网站上的教程。但是,我得到了以下错误UncaughtTypeError:无法在bootstrapEditable.js:1098处读取null的属性'addClass'。我很难找出错误的根本原因。我们将非常感谢您对我们的任何帮助。我正在使用以下代码

<?php $this->widget('bootstrap.widgets.TbExtendedGridView', array(
                        'id'=>'brands-data-table',

                        'dataProvider'=>$model->search(),
                        'pagerCssClass'=>'dataTables_paginate paging_bootstrap pagination',
                        'template'=>'{items}{summary} {pager}',
                        'summaryCssClass'=>'dataTables_info',
                        'pager'=>array("htmlOptions"=>array('class'=>"pagination"),'hiddenPageCssClass'=>'disabled','header'=>'','selectedPageCssClass'=>'active'),
                        'columns'=>array(
                            array (
                                'name'=>'name', //
                                'value'=>'$data->name',
                                'filter'=>false,
                                'class' => 'bootstrap.widgets.TbEditableColumn',
                                'headerHtmlOptions' => array('style' => 'width:200px'),
                                'editable' => array(
                                    'type' => 'text',
                                    'url' => '/example/editable',
                                    'placement' => 'right',
                                    'inputclass' => 'span3'
                                )
                            ),

                        ),
                        'itemsCssClass'=>'table table-striped table-bordered table-hover',
                        'htmlOptions'=>array(
                            'class'=>'',
                        ),

            )); ?>

错误是由JS产生的。然后请发布由PHP代码生成的JS代码。在bootstrap-editable.JS行1098的某处,您正在使用addClass。请发布那个部分。我已经发布了这个代码。$element.addClass'editable-open';不正确,$元素来自何处?错误出现在此行this.tip.addClassthis.containerClass;
$('#brands-data-table a[rel^=ProductBrand_name]').editable([]);

$("#brands-data-table").parent().on("ajaxUpdate.yiiGridView", "#brands-data-table", function() {$('#brands-data-table a[rel^=ProductBrand_name]').editable([]);});

jQuery('#brands-data-table').yiiGridView({'ajaxUpdate':['brands-data-table'],'ajaxVar':'ajax','pagerClass':'dataTables_paginate paging_bootstrap pagination','loadingClass':'grid-view-loading','filterClass':'filters','tableClass':'table table-striped table-bordered table-hover table','selectableRows':1,'enableHistory':false,'updateSelector':'{page}, {sort}','filterSelector':'{filter}','pageVar':'ProductBrand_page','afterAjaxUpdate': function(id, data) {
            $("#"+id).trigger("ajaxUpdate.yiiGridView"); 
        }});

                       $grid = $("#brands-data-table");

            if ($(".extended-summary", $grid).length)
            {
                $(".extended-summary", $grid).html($("#brands-data-table-extended-summary", $grid).html());
            }

            $.ajaxPrefilter(function (options, originalOptions, jqXHR) {
                var qs = $.deparam.querystring(options.url);
                if (qs.hasOwnProperty("ajax") && qs.ajax == "brands-data-table")
                {
                    if (typeof (options.realsuccess) == "undefined" || options.realsuccess !== options.success)
                    {
                        options.realsuccess = options.success;
                        options.success = function(data)
                        {
                            if (options.realsuccess) {
                                options.realsuccess(data);
                                var $data = $("<div>" + data + "</div>");
                                // we need to get the grid again... as it has been updated
                                if ($(".extended-summary", $("#brands-data-table")))
                                {
                                    $(".extended-summary", $("#brands-data-table")).html($("#brands-data-table-extended-summary", $data).html());
                                }

                            }
                        }
                    }
                }
            });
});
this.$element.addClass('editable-open');
            if(closeAll !== false) {
                //close all open containers (except this)
                this.closeOthers(this.$element[0]);  
            }

            //show container itself
            this.innerShow();
            this.tip().addClass(this.containerClass);