2

サイトに yii ブートストラップ拡張機能を統合しました。グリッド ビューを表示しているページがあります。そのブートストラップですが、私は TbGridView を使用しました。並べ替え、ページング、フィルタリングなどの基本的な GridView 機能は、IE8 を除くすべてのブラウザーで正常に動作します。グリッドで並べ替え、ページング、フィルタリングを実行しようとすると、グリッドが消えます。IE8でのみ発生します。デバッグで jquery-yiigridview.js を確認しました。特に 、

[コード]

更新: 関数 (オプション) {

[/コード]

しかし、特別なことは何も見つかりませんでした。私が理解した唯一のことは、IE8では、応答がグリッド(#id)に追加されないことです。IE8 での ajax レンダリングに関連する何かが欠けています。

奇妙なことに、renderPartial メソッドを使用してポップアップを使用している別のページがあります。TbGridView もあります。しかし、IE8では問題なく動作します。

より詳しい情報:

コントローラ: [コード]

        public function actionRate()
        {
        $requestModel = new Rate('search');             
        $requestModel->unsetAttributes();  // clear any default values
        if(isset($_GET['Rate']))
        $requestModel->attributes=$_GET['Rate'];                              
       $this->render('requestList', array('model'=>$requestModel)); 
        }

[/コード]

意見:

[コード]

$this->widget('bootstrap.widgets.TbGridView', array(
'id'=>'request-grid-list',
'filter'=>$model,
'type'=>'striped bordered condensed',
'dataProvider'=>$model->search(),   
'columns'=>array(               
        array(
                'name' => 'ratename',
                'type'=>'raw',
                'value' => '$data->ratename',
        )
        ),)); 

[/コード]

4

1 に答える 1

3

デバッグを重ねた結果、IE8 の問題の原因がわかりました。

私が最初に考えたのは jquery-yiigridview.js でした。私は、yii グリッドの jquery-yiigridview.js の更新メソッドが正常に機能していることを発見しました。

$.each(settings.ajaxUpdate, function (i, el) {
    var updateId = '#' + el;
    $(updateId).replaceWith($(updateId, $data));
});

その後、突然グリッドが消えました。はい、問題は「応答データ」にありました。Firefox と Chrome は完全にレンダリングします。しかし、IE8ではエラーになります。そこで、応答データを確認しました。main.php レイアウト ファイル内に「bootstrap.widgets.TbNavbar」がありました。それを削除すると、うまくいきました。しかし、それは修正ではありません。IE8で壊れている理由を確認しました。

$this->widget('bootstrap.widgets.TbNavbar', array(
    'type'=>'inverse', // null or 'inverse'
    'brand'=>$brandName,
    'brandUrl'=>'#',
    'collapse'=>true, // requires bootstrap-responsive.css
    'items'=>array(
        array(

'collapse'=>trueが問題でした。だから私はその行を削除しました。IE8で完全に動作するようになりました。

しかし、それは終わりではありません..次のことは..学ぶことです,, :) :)

http://twitter.github.com/bootstrap/scaffolding.html#responsive

注: これは簡単な修正です。あなたの考えを共有してください。

于 2012-12-21T07:10:32.160 に答える