Yii2 karthik可编辑列第一行不起作用

时间:2015-10-13 09:25:26

标签: yii2

我使用karthik网格视图和可编辑列来编辑网格视图数据。它不适用于网格视图的第一行,当我输入第一行的值时,它可以为其他行工作,它会给出错误,如下所示

  

SyntaxError:JSON.parse:JSON数据第1行第1列的意外字符

我的gridview代码是。

var that=this;
this.something().on( 'keyup', function() { 
    xx.setValue('hello'+that.something().getvalue());
} );

我的控制器是

<?= GridView::widget([
            'dataProvider' => $dataProvider,
            'pjax' => true,
            'pjaxSettings' => [
                    'options' => [
                        'id' => 'grid', 

                    ]
                    ],
            'export'=>false,
            'columns' => [
                ['class' => 'yii\grid\SerialColumn'],
                [
                    'header'=>'Sub Category',
                    'value'=>'item.subCategory.name',
                ],
                'item.code',
                [
                    'header'=>'Brand',
                    'value'=>'item.brand.name',
                ],
                'item.description',
                'item.pack_size',
                [
                    'header'=>'Unit',
                    'value'=>'item.unit',
                ],
                [
                    'header'=>'Last Price',
                    'value'=>function($model){
                        $customerId = $model->customerOrderRequest->customer_id;
                        $lastPurchasedPrice = Item::getLastPurchasedPrice($customerId,$model->item_id);
                        return '$ ' . number_format($lastPurchasedPrice, 2);
                    }
                ],
                [
                    'class' => 'kartik\grid\EditableColumn',
                    'attribute'=>'qty', 
                    'editableOptions' => 
                    [
                      'formOptions' => ['action' => 'customer-order-request']
                    ],
                    'header' => 'Qty',
                ],
                [
                    'header'=>'Estimate',
                    'value'=>function($model)
                    {
                        return '123123.00';
                    }
                ],
                [
                    'header'=>'Price (UNIT)',
                    'format'=>'raw',
                    'value'=>function($modal){
                        $salse_rep_id = Yii::$app->user->identity->ref_id;
                        $exsist_respond = Respond::find()->where(['sales_rep_id'=>$salse_rep_id,'customer_order_request_id'=>$modal->customer_order_request_id])->one();
                        if(!empty($exsist_respond)){
                            $exsist_respond_item = RespondItem::find()->where(['item_id'=>$modal->item_id,'respond_id'=>$exsist_respond->id])->one();
                            if(!empty($exsist_respond_item)){
                            $price = $exsist_respond_item->price;    
                            }  else {
                            $price = NULL;
                            }

                        }  else {
                            $price = NULL;
                        }
                        if(!empty($exsist_respond) && $exsist_respond->status !="Pending"){
                              return $price; 
                        }else{

                        return "<input type='text' class='respond-item' cor='$modal->customer_order_request_id' value='$price' item_id='$modal->item_id' />";

                        }

                        },
                    'visible'=>(Yii::$app->user->identity->ref_table =="sales_rep")? true:false
                ],


            ],
        ]); ?>

任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

表格标记已嵌套。

技巧:添加假表单让浏览器删除它。

我今天遇到这个问题,因为我把一个表格放在另一个表格中,它们是嵌套的 所以浏览器删除了第一个嵌套表单。

在官方的W3C XHTML规范中,B节和#34;元素禁止&#34;,声明:

  

&#34;表单不得包含其他表单元素。&#34;

official website