Twitter bootstrap 3 Bootstrap3模式不使用GridView';s pjax

Twitter bootstrap 3 Bootstrap3模式不使用GridView';s pjax,twitter-bootstrap-3,yii2,bootstrap-modal,Twitter Bootstrap 3,Yii2,Bootstrap Modal,我有以下GridView,但不幸的是,如果我使用Pjax分页或搜索,引导模式不能正常工作。好吧,模态确实出现了,但它不会提交表单。当我把模态从Pjax()中去掉时,它就根本没有被加载 Pjax::begin(['id' => 'pjax_id', 'timeout' => false, 'enablePushState' => false]); echo GridView::widget([ 'dataProvider'

我有以下GridView,但不幸的是,如果我使用Pjax分页或搜索,引导模式不能正常工作。好吧,模态确实出现了,但它不会提交表单。当我把模态从Pjax()中去掉时,它就根本没有被加载

        Pjax::begin(['id' => 'pjax_id', 'timeout' => false, 'enablePushState' => false]);
        echo GridView::widget([
            'dataProvider' => $details,
            'filterModel' => $searchModel,
            'columns' => [
                ['class' => 'yii\grid\SerialColumn'],
                ['format' => 'raw',
                'label' => 'Category',
                'value' => function ($data) {
                    $string = '';
                    foreach ($data['Category'] as $category) {
                        $string .= $category->category_name . '<br/>';
                    }
                    return $string;
                }],
                'book_name',            
                ['format' => 'raw',
                'contentOptions' => ['class' => 'form-cell'],
                'label' => '',
                'value' => function ($data) {
                    $buttons = Html::button('Edit', ['class' => 'btn btn-default mleft modallink', 'data-toggle' => 'modal', 'data-target' => '#'.$data->cat_id]);
                    return $buttons;
                }
                ],
                [
                'format' => 'raw',
                'label' => '',
                'value' => function ($data) {
                    if (Yii::$app->user->identity->user_type == 'admin') {
                        $string = '<a href=\''.Url::to(['category/view', 'id' => $data->cat_id]).'\'><span class="glyphicon glyphicon-eye-open"></span></a>';
                        $string .= '<a class=\'mleft\' href=\''.Url::to(['category/update', 'id' => $data->cat_id]).'\'><span class="glyphicon glyphicon-pencil"></span></a>';
                        return $string;
                    }
                }
                ],
            ],
        ]); 

        $details = $details->getModels();
        foreach ($details as $detail) {
            ?>
            <div class="modal fade" id="<?= $detail->cat_id ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
              <div class="modal-dialog" role="document">
                <div class="modal-content">
                  <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title" id="myModalLabel"><?= $detail->category_name ?></h4>
                  </div>
                  <div class="modal-body">
                        <?php

                        echo Html::beginForm(Url::to(['category/details', 'id' => $detail->cat_id]), 'post', ['id' => 'popup']);
                        echo Html::beginTag('div', ['class' => 'form-group']);
                        echo Html::activeLabel($detail, 'cat_description');
                        echo Html::activeTextarea($detail, 'cat_description', ['class' => 'form-control']);
                        echo Html::endTag('div');
                        echo Html::beginTag('div', ['class' => 'form-group']);
                        echo Html::activeLabel($detail, 'link');
                        echo Html::activeInput('text', $detail, 'link', ['class' => 'form-control']);
                        echo Html::endTag('div');
                        echo Html::beginTag('div', ['class' => 'form-group']);
                        echo Html::activeLabel($detail, 'resource');
                        echo Html::activeInput('text', $detail, 'resource', ['class' => 'form-control']);
                        echo Html::endTag('div');

                        ?>
                  </div>
                  <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <?= Html::submitButton('Submit', ['class' => 'btn btn-success']) ?>
                    <?= Html::endForm(); ?>
                  </div>
                </div>
              </div>
            </div>
            <?php
        }
        Pjax::end();
Pjax::begin(['id'=>'Pjax_id','timeout'=>false,'enablePushState'=>false]);
echo GridView::小部件([
“dataProvider”=>$details,
“filterModel”=>$searchModel,
“列”=>[
['class'=>'yii\grid\SerialColumn'],
[“格式”=>“原始”,
“标签”=>“类别”,
'value'=>函数($data){
$string='';
foreach($data['Category']作为$Category){
$string.=$category->category_name.“
”; } 返回$string; }], “书名”, [“格式”=>“原始”, “contentOptions'=>[“类”=>“表格单元格”], '标签'=>'', 'value'=>函数($data){ $buttons=Html::button('Edit',['class'=>'btn btn default mleft modallink','data toggle'=>'modal','data target'=>'。$data->cat#id]); 返回$按钮; } ], [ '格式'=>'原始', '标签'=>'', 'value'=>函数($data){ 如果(Yii::$app->user->identity->user\u type=='admin'){ $string=''; $string.=''; 返回$string; } } ], ], ]); $details=$details->getModels(); foreach($details作为$detail){ ?>
Pjax小部件有一个
formSelector
属性,默认情况下,该属性将查找所有
data Pjax
属性设置为非falsy的表单

修复表单的最简单方法是将该属性添加到表单定义中:

echo Html::beginForm(
    Url::to(['category/details', 'id' => $detail->cat_id]),
    'post',
    [
        'id' => 'popup',
        'data-pjax' => 1,
    ]
);