CGridView 在IE下怎么会有脚本错误?




<?php 

    $this->widget("zii.widgets.grid.CGridView",array(

    'emptyText'=>'您还没有添加记录',

    'dataProvider'=>$dataProvider,

    'pager'=>array(),

    'columns'=>array(

        array('dataField'=>'name','header'=>'名称'),

        array('dataField'=>'description','header'=>'描述'),

        array(

        'class'=>'CLinkColumn',

        'urlExpression'=>'array("ctype/settype","id"=>$data->Id)',

        'label'=>'修改',   

        'header'=>'操作'

        ),  

        array(

        'class'=>'CLinkColumn',

        'urlExpression'=>'array("ctype/setfield","id"=>$data->Id)',

        'label'=>'管理字段',

        ),

    ),

    ));

?>



列表输出正常。只是在生成的代码中包含下面这段脚本有错(仅在IE中,在FF下是正确的)




<!--下面的路径是正确的,因为我尝试改过里面的JS-->

<link rel="stylesheet" type="text/css" href="/YiiTest/Content/assets/307e1e77/gridview/styles.css" />

<script type="text/javascript" src="/YiiTest/Content/assets/91d623e/jquery.js"></script>

<script type="text/javascript" src="/YiiTest/Content/assets/307e1e77/gridview/jquery.yiigridview.js"></script>


<script type="text/javascript">

/*<![CDATA[*/

jQuery(document).ready(function() {

//**********下面是错误行。提示缺少标识符、字符串或数字。(ID为yw0的DIV是存在的)*******

jQuery('#yw0').yiiGridView({'ajaxUpdate':['yw0'],'pagerClass':'pager','tableClass':'items','selectableRows':1});

});

/*]]>*/

</script>



我试了一下

<script type="text/javascript">

jQuery(document).ready(function() {

alert(typeof(jQuery('#yw0').yiiGridView));

});

</script>

发现在IE下alert出undefined,在FF下是function

是我写的CGridView代码有错么,还是怎么样的呢?

环境:Windows2003 + php5.3.1 + yii1.1rc.r1585 + IE6,7,FF

我用了两台客户端测试。结果是一样的

奇怪我这里是好的。不过我用的是IE8。其他人有类似问题么?

我猜就是IE6,多个逗号的问题 ","

大概跟这个一样吧

http://www.yiiframework.com/forum/index.php?/topic/6154-请教zii-grideview里面的crudcolumn的使用/page__view__findpost__p__31617

谢谢楼上的提醒,确实是“,”的错:




	$.fn.yiiGridView.defaults = {

		ajaxUpdate: [],

		pagerClass: 'pager',

		tableClass: 'items',

		selectableRows: 1,   //在IE下,这里最后一行不能有逗号

	};



这个问题在我这边IE7也有这个问题,貌似不是楼上说的仅在IE6下

附上查到的同样有问题的JS

jquery.yiigridview.js

57行,127行末尾的","去掉就正常了。

jquery.yiilistview.js

行44, 行91

ie系列中,貌似只有ie8没有这个问题

虽说,多个","逗号,是本身语法就错误,应该自己要注意。 但由于这种错误是在非常难debug出来,

所以,作为浏览器兼容一下这个错误,我觉得也是应该的~~ :)

厉害个。

呵呵,但是svn好像没有更新吗。

还没有改掉吗?

svn里已经改过了。如果你发现还有没有改的,请告诉我。谢谢。

学习了