обновление zii.widgets.grid.gridview с помощью CHtml :: dropdownlist выдает ошибку «Не удается прочитать свойство« ajaxType »из неопределенного» - PullRequest
0 голосов
/ 30 декабря 2018

Получена следующая ошибка: «Uncaught TypeError: Не удается прочитать свойство 'ajaxType' undefined", вот мое представление для сетки IndividualOrders.php

 <div class="orderBox">
  <div class="heading">
    <h1><img src="<?php echo Yii::app()->request->baseUrl;?/images/order.png" alt="" />Orders</h1>
  </div>
 <div class="content">
  <?php $this->renderPartial('_statusFilter',array('model'=>$model));?>
    <?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'order-form-grid',
    'dataProvider'=>$model->filterIndividualOrders(),
    //'filter'=>$model,
    'summaryText' =>'',
    'selectableRows'=>2,
    //'rowCssClassExpression'=>'$data->color',
    'columns'=>array(
            'orderId',
            array(
                    'name'=>'customerId',
                    'type'=>'raw',
                    'value'=>'CHtml::encode($data->firstName." ".$data->lastName)'
            ),
            'orderStatus',
            array(
                    'name'=>'TotalAmount',
                    'type'=>'raw',
                    'value'=>'Yii::app()->params["currencyINR"].CHtml::encode($data->TotalAmount)'
            ),
            'orderPlaced',
            'statusChanged',
        /*  array(
                    'name'=>'User Type',
                    'type'=>'raw',
                    'value'=>'CHtml::encode($data->userType)'
            ), */

            array(
                    'header'=>'Operations',
                    'headerHtmlOptions'=>array('style'=>'width:80px;'),
                    'class'=>'CButtonColumn',
                    'deleteConfirmation'=>"js:'Order with ID '+$(this).parent().parent().children(':first-child').text()+' will be deleted! Continue?'",
                    'template'=>'{view}{update}{delete}{print}',
                    'buttons'=> array(
                            'view'=>array(
                                    'label'=>'View',
                                    'url'=>'Yii::app()->createUrl("sales/orderInfo",array("orderId"=>$data->orderId))',
                            ),
                            'update'=>array(
                                    'label'=>'Edit',
                                    'url'=>'Yii::app()->createUrl("sales/orderUpdate", array("orderId"=>$data->orderId))',
                            ),
                            'delete'=>array(
                                    'label'=>'Delete',
                                    'url'=>'Yii::app()->createUrl("sales/delete", array("orderId"=>$data->orderId))',
                            ),
                            'print'=>array(
                                    'label'=>'Print Invoice',
                                    'imageUrl'=>Yii::app()->request->baseUrl.'/images/invoice-print.png',
                                    'url'=>'Yii::app()->createUrl("sales/orderInvoice", array("orderId"=>$data->orderId))',
                                    'click'=>'function(e){
                                                e.preventDefault();
                                                if(confirm("Do you want to print this order?"))
                                                    window.open($(this).attr("href"));
                                            }'
                            ),
                    ),
            ),

    ),
)); ?>
<?phpYii::app()->clientScript->registerScript('search',"$('.selectbox').change(function() {

$.fn.yiiGridView.update('order-form-grid', {        
    data: $(this).serialize()
 });
 return false;
});
",CClientScript::POS_END);?>
</div>
</div>

представление для раскрывающегося фильтра _statusFilter.php

<?php $form=$this->beginWidget('CActiveForm', array(
 'action'=>Yii::app()->createUrl($this->route),
 'method'=>'post',
 'htmlOptions'=>array(
 'class' => 'form-search',
 ),
 )); ?>
<?php
  $corporateList = CHtml::listData(OrderStatus::model()->findAll(), 
 'name', 'name'); 
  echo CHtml::dropDownList('Order[orderStatus]', $model, 
  $corporateList,
  array('empty' => 'Select 
  Status','class'=>'selectbox','id'=>'categorySelectDropDown')); 
  ?>, 
  <?php $this->endWidget(); ?>

это мой контроллер SalesController.php

public function actionIndividualOrders()
{       
        $model=new Order('filterIndividualOrders');
        //$model->unsetAttributes();  // clear any default values
        if(isset($_GET['Order']))
            $model->attributes=$_GET['Order'];
        $this->render('individualOrders',array('model'=>$model));

}

и это мой модальный Order.php

public function filterIndividualOrders()
{       
    // should not be searched.
    $criteria=new CDbCriteria;      
    $criteria->compare('orderStatus',$this->orderStatus,true);  
    return new CActiveDataProvider($this, array(
            'criteria'=>$criteria,
    ));
}

Цель - обновить вид сетки, выбрав доступный статусв выпадающем списке

проблема: после выбора опции из выпадающего списка я получаю сообщение об ошибке «Не удается прочитать свойство« ajaxType »из неопределенного» в консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...