2015-08-20 26 views
0

當我在yii2中使用pjax時。 selec2小部件停止工作。而select2獨自工作。 (不一起工作)select2和Pjax在yii2中不能一起工作

即時使用select2小部件和pjax在一起。但是在用pjax提交表單時。以新形式,select2不起作用。 (只顯示加載img)。請幫助我 什麼是問題?

我想同時使用兩者。

select2 extention page

+0

你試過了什麼? –

回答

0
鑑於

<?php 
use yii\helpers\Hrml; 
use yii\widgets\Pjax; 


/* @var $this yii\web\View */ 
/* @var $model app\models\Vitrin */ 

?> 

<?php Pjax::begin(); ?> 
<?php 
if($model->getProductTypeSetting()=='both') 
{ 
    echo $this->render('_form', [ 
     'model' => $model, 
    ]); 
} 
?> 
<?php Pjax::end(); ?> 

在_form:

<!-- BEGIN PAGE CONTENT--> 
<?= Html::beginForm(['vitrin/index', 'id' => $id], 'post'['data-pjax' => '']); ?> 
<?= Html::activeInput('text', $model, 'name', ['class' => $username]) ?> 
<?= Html::submitButton('Submit', ['class' => 'submit']) ?> 
<?= Html::endForm() ?> 
<!-- END PAGE CONTENT--> 

在控制器:

if(Yii::$app->request->post('productType')) 
{ 
$model->productType = $_POST['productType']; 
if($model->productType=='physical') 
{ 
return $this->renderAjax('_formProduct', ['products' => $this->getProductName()]); 
} 
else 
throw new \yii\web\HttpException(406, Yii::t('app', 'Your request is invalid.')); 
} 
在_formProduct

<!-- BEGIN PAGE CONTENT--> 
<?= Html::beginForm(['vitrin/index', 'id' => $id], 'post', ['data-pjax' => '']); ?> 
<?php 
echo Select2::widget([ 
'name' => 'name', 
'data' => [1 => "First", 2 => "Second", 3 => "Third", 4 => "Fourth", 5 => "Fifth"], 
'options' => [ 
'placeholder' => 'Select a type ...', 
], 
]); 
?> 
<?= Html::submitButton('Submit', ['class' => 'submit']) ?> 
<?= Html::endForm() ?> 
<!-- END PAGE CONTENT--> 

和AppAssets類:

class AppAsset extends AssetBundle 
{ 
public $basePath = '@webroot/themes/backend'; 
public $baseUrl = '@web/themes/backend/assets_t'; 
public $css = [ 
'bootstrap-rtl/css/bootstrap-rtl.min.css', 
'bootstrap-rtl/css/bootstrap-responsive-rtl.min.css', 
'font-awesome/css/font-awesome.css', 
'fancybox/source/jquery.fancybox.css', 
'uniform/css/uniform.default.css', 
]; 
public $js = [ 
'bootstrap-rtl/js/bootstrap.min.js', 
'js/jquery.blockui.js', 
'uniform/jquery.uniform.min.js', 
]; 

時pjax提交_form。在_formProduct中,select2不起作用。 (只顯示加載img)。

一般,當我使用PJAX時,其他Js代碼被禁用。

+0

沒有解決方案?一般來說,當我使用Pjax時,其他Js代碼將被禁用。 – Mahdi

0

在你的視野頭:

use kartik\select2\Select2Asset; 

Select2Asset::register($this); 

另外,還要確保您有最新的選擇二小部件。