1

$.fn.yiiGridView.update('sopodetail-grid'+itemcd); この関数は実行されていません。

コンソールに表示されCannot call method 'update' of undefinedます。

ajax を介してデータを挿入しても更新されgridviewないという問題があります。

foreach ループで複数のグリッド ビューをレンダリングし、それぞれを concatenating で一意の ID にしますitem_cd

 function validateDetailForm()
    {
        var jForm   = $('#sopodetail-form');                                                    
        var data    = jForm.serialize();
        var itemcd  = $('#cmbitemcd').val();

        $.ajax({
            type: 'POST',
            url : jForm.attr('action'),
            data: data,
            dataType:'html',
            success:function(data) 
            {

                $(".info").animate({opacity: 1.0}, 3000).fadeOut("slow");
                $.fn.yiiGridView.update('sopodetail-grid'+itemcd);
            },
            error: function(data) { // if error occured
                alert('Error occured.please try again');
                $('#detail-content').html(data);
            },
        });
    }

これは、IDを連結する複数のグリッドビューをレンダリングする方法です...

foreach($modelSoDet as $modelSoDetObj):
    $this->widget('zii.widgets.CDetailView', array(
            'data'=>$modelSoDetObj,
            'attributes'=>array(
                'item_cd',
                'item.item_name',
                'item.item_desc',
                'qty',
                'qty_purchased'
            )
    ));

    $modelSoPoDetail = new Sopodetail();
    $modelSoPoDetail->unsetAttributes();
    $modelSoPoDetail->so_cd   = $modelSoDetObj->so_cd;
    $modelSoPoDetail->item_cd = $modelSoDetObj->item_cd;
    $gridid           = 'sopodetail-grid'.$modelSoPoDetail->item_cd; 

    $this->widget('zii.widgets.grid.CGridView', array(
            'dataProvider'=>$modelSoPoDetail->search(),
            'summaryText' => '',
            'id'=>$gridid,
            'columns'=>array(
                'type',
                'po_cd',
                'qty'
            )
    ));
            endforeach;
4

2 に答える 2

0

$.param.querystringから呼び出され、yiiGridView.updateにありjquery.ba-bbq.jsます。

含まれている場合は、HTML ソースを確認してくださいjquery.ba-bbq.js...

jquery.ba-bbq.jsが含まれている場合、 の後に jQuery オブジェクトを再作成している可能性がありますjquery.ba-bbq.js。たとえば、jQuery が複数回読み込まれます....

ソース: http://www.yiiframework.com/forum/index.php/topic/9387-cgridview-update/

于 2014-07-01T00:25:05.770 に答える