Javascript filterModel在yii2框架中不起作用

Javascript filterModel在yii2框架中不起作用,javascript,php,css,yii2,Javascript,Php,Css,Yii2,我已经安装了yii2高级模板,但是当我集成一个管理模板时,除了filterModel(当我按ENTER键时,什么都没有发生),我想这是因为样式不同,但我可以如何修改它。当我使用yii2的“site.css”样式时,它才起作用。 有什么建议吗 我的表格的图像filterModel: 这是GridView代码: <?= GridView::widget([ /*'dataProvider' => $dataProvider,*/ 'filterModel

我已经安装了yii2高级模板,但是当我集成一个管理模板时,除了
filterModel
(当我按ENTER键时,什么都没有发生),我想这是因为样式不同,但我可以如何修改它。当我使用yii2的“site.css”样式时,它才起作用。
有什么建议吗

我的表格的图像
filterModel

这是
GridView
代码:

<?= GridView::widget([
        /*'dataProvider' => $dataProvider,*/
        'filterModel' => $searchModel,
        'id' => 'table',
        'dataProvider' => $dataProvider,
        //'layout'=>"{sorter}\n{pager}\n{summary}\n{items}",
        //'summary' => $count < 2 ? "" : "Showing {begin} - {end} of {totalCount} items",
        'tableOptions' => ['class' => 'table table-bordered table-striped table-condensed cf'],

        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],

            //'idArticle',
            'designationArticle',
            'prixArticle',
            'poidsArticle',
            //'idUniteArticle0.libelleUniteArticle',
            //'idFamilleArticle0.libelleFamilleArticle',
            [
                'attribute' => 'idUniteArticle',
                'value'=> 'idUniteArticle0.libelleUniteArticle',
            ],
            [
                'attribute' => 'idFamilleArticle',
                'value'=> 'idFamilleArticle0.libelleFamilleArticle',
            ],
             'dateAjoutArticle',

            ['class' => 'yii\grid\ActionColumn'],
        ],
        'rowOptions' =>['ng-model'=>'art'],
    ]); ?>
这是
搜索模型

<?php

namespace backend\models;

use Yii;
use yii\base\Model;
use yii\data\ActiveDataProvider;
use backend\models\Article;

/**
* ArticleSearch represents the model behind the search form about        `backend\models\Article`.
*/
class ArticleSearch extends Article
{
/**
 * @inheritdoc
 */
public function rules()
{
    return [
        [['idArticle'], 'integer'],
        [['designationArticle', 'dateAjoutArticle', 'idUniteArticle', 'idFamilleArticle'], 'safe'],
        [['prixArticle', 'poidsArticle'], 'number'],
    ];
}

/**
 * @inheritdoc
 */
public function scenarios()
{
    // bypass scenarios() implementation in the parent class
    return Model::scenarios();
}


/**
 * Creates data provider instance with search query applied
 *
 * @param array $params
 *
 * @return ActiveDataProvider
 */
public function search($params)
{
    $query = Article::find();

    $dataProvider = new ActiveDataProvider([
        'query' => $query,
    ]);

    $this->load($params);

    if (!$this->validate()) {
        // uncomment the following line if you do not want to return any records when validation fails
        // $query->where('0=1');
        return $dataProvider;
    }

    $query->andFilterWhere([
        'idArticle' => $this->idArticle,
        'prixArticle' => $this->prixArticle,
        'poidsArticle' => $this->poidsArticle,
        'idUniteArticle' => $this->idUniteArticle,
        'idFamilleArticle' => $this->idFamilleArticle,
        'dateAjoutArticle' => $this->dateAjoutArticle,
    ]);

    $query->andFilterWhere(['like', 'designationArticle', $this->designationArticle]);

    return $dataProvider;
}
}

谢谢你,斯盖斯·艾奇,这是控制器动作

  <?php

namespace backend\controllers;

use Yii;
use backend\models\Article;
use backend\models\ArticleSearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
use yii\web\JsonParser;

/**
 * ArticleController implements the CRUD actions for Article model.
*/
class ArticleController extends Controller
{
public function behaviors()
{
    return [
        'verbs' => [
            'class' => VerbFilter::className(),
            'actions' => [
                'delete' => ['post'],
                /*'index'  => ['get'],
                'view'   => ['get'],
                'create' => ['get', 'post'],
                'update' => ['get', 'put', 'post'],
                'delete' => ['post', 'delete'],*/
            ],
        ],
    ];
}

/**
 * Lists all Article models.
 * @return mixed
 */
public function actionIndex()
{
    $searchModel = new ArticleSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
    $model=Article::find()->all();
    return $this->render('index', [
        // the search Model 
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
        'articles' =>$model,
    ]);
}

/**
 * Displays a single Article model.
 * @param integer $idArticle
 * @param integer $idFamilleArticle
 * @return mixed
 */
public function actionView($idArticle, $idFamilleArticle)
{
    return $this->render('view', [
        'model' => $this->findModel($idArticle, $idFamilleArticle),
    ]);
}

/**
 * Creates a new Article model.
 * If creation is successful, the browser will be redirected to the 'view' page.
 * @return mixed
 */
public function actionCreate()
{
    $model = new Article();

    if ($model->load(Yii::$app->request->post())) {
        $model->dateAjoutArticle= date('Y-m-d h:m:s');
        $model->save();
        return $this->redirect(['view', 'idArticle' => $model->idArticle, 'idFamilleArticle' => $model->idFamilleArticle]);
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}

/**
 * Updates an existing Article model.
 * If update is successful, the browser will be redirected to the 'view' page.
 * @param integer $idArticle
 * @param integer $idFamilleArticle
 * @return mixed
 */
public function actionUpdate($idArticle, $idFamilleArticle)
{
    $model = $this->findModel($idArticle, $idFamilleArticle);

    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        return $this->redirect(['view', 'idArticle' => $model->idArticle, 'idFamilleArticle' => $model->idFamilleArticle]);
    } else {
        return $this->render('update', [
            'model' => $model,
        ]);
    }
}

/**
 * Deletes an existing Article model.
 * If deletion is successful, the browser will be redirected to the 'index' page.
 * @param integer $idArticle
 * @param integer $idFamilleArticle
 * @return mixed
 */
public function actionDelete($idArticle, $idFamilleArticle)
{
    $this->findModel($idArticle, $idFamilleArticle)->delete();

    return $this->redirect(['index']);
}

public function getAllArts(){
    $model=Article::find()->all();
    echo json_decode($model);
}

/**
 * Finds the Article model based on its primary key value.
 * If the model is not found, a 404 HTTP exception will be thrown.
 * @param integer $idArticle
 * @param integer $idFamilleArticle
 * @return Article the loaded model
 * @throws NotFoundHttpException if the model cannot be found
 */
protected function findModel($idArticle, $idFamilleArticle)
{
    if (($model = Article::findOne(['idArticle' => $idArticle, 'idFamilleArticle' => $idFamilleArticle])) !== null) {
        return $model;
    } else {
        throw new NotFoundHttpException('The requested page does not exist.');
    }
}
}

谢谢你,斯盖斯·艾奇,这是控制器动作

  <?php

namespace backend\controllers;

use Yii;
use backend\models\Article;
use backend\models\ArticleSearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
use yii\web\JsonParser;

/**
 * ArticleController implements the CRUD actions for Article model.
*/
class ArticleController extends Controller
{
public function behaviors()
{
    return [
        'verbs' => [
            'class' => VerbFilter::className(),
            'actions' => [
                'delete' => ['post'],
                /*'index'  => ['get'],
                'view'   => ['get'],
                'create' => ['get', 'post'],
                'update' => ['get', 'put', 'post'],
                'delete' => ['post', 'delete'],*/
            ],
        ],
    ];
}

/**
 * Lists all Article models.
 * @return mixed
 */
public function actionIndex()
{
    $searchModel = new ArticleSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
    $model=Article::find()->all();
    return $this->render('index', [
        // the search Model 
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
        'articles' =>$model,
    ]);
}

/**
 * Displays a single Article model.
 * @param integer $idArticle
 * @param integer $idFamilleArticle
 * @return mixed
 */
public function actionView($idArticle, $idFamilleArticle)
{
    return $this->render('view', [
        'model' => $this->findModel($idArticle, $idFamilleArticle),
    ]);
}

/**
 * Creates a new Article model.
 * If creation is successful, the browser will be redirected to the 'view' page.
 * @return mixed
 */
public function actionCreate()
{
    $model = new Article();

    if ($model->load(Yii::$app->request->post())) {
        $model->dateAjoutArticle= date('Y-m-d h:m:s');
        $model->save();
        return $this->redirect(['view', 'idArticle' => $model->idArticle, 'idFamilleArticle' => $model->idFamilleArticle]);
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}

/**
 * Updates an existing Article model.
 * If update is successful, the browser will be redirected to the 'view' page.
 * @param integer $idArticle
 * @param integer $idFamilleArticle
 * @return mixed
 */
public function actionUpdate($idArticle, $idFamilleArticle)
{
    $model = $this->findModel($idArticle, $idFamilleArticle);

    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        return $this->redirect(['view', 'idArticle' => $model->idArticle, 'idFamilleArticle' => $model->idFamilleArticle]);
    } else {
        return $this->render('update', [
            'model' => $model,
        ]);
    }
}

/**
 * Deletes an existing Article model.
 * If deletion is successful, the browser will be redirected to the 'index' page.
 * @param integer $idArticle
 * @param integer $idFamilleArticle
 * @return mixed
 */
public function actionDelete($idArticle, $idFamilleArticle)
{
    $this->findModel($idArticle, $idFamilleArticle)->delete();

    return $this->redirect(['index']);
}

public function getAllArts(){
    $model=Article::find()->all();
    echo json_decode($model);
}

/**
 * Finds the Article model based on its primary key value.
 * If the model is not found, a 404 HTTP exception will be thrown.
 * @param integer $idArticle
 * @param integer $idFamilleArticle
 * @return Article the loaded model
 * @throws NotFoundHttpException if the model cannot be found
 */
protected function findModel($idArticle, $idFamilleArticle)
{
    if (($model = Article::findOne(['idArticle' => $idArticle, 'idFamilleArticle' => $idFamilleArticle])) !== null) {
        return $model;
    } else {
        throw new NotFoundHttpException('The requested page does not exist.');
    }
}
}

对于actionIndex,请仅使用此

  public function actionIndex()
  {
      $searchModel = new ArticleSearch();
      $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

      return $this->render('index', [
          'dataProvider' => $dataProvider,
          'searchModel' => $searchModel,
      ]);
  }

对于actionIndex,请仅使用此

  public function actionIndex()
  {
      $searchModel = new ArticleSearch();
      $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

      return $this->render('index', [
          'dataProvider' => $dataProvider,
          'searchModel' => $searchModel,
      ]);
  }

显示您的相关controllerAction和相关搜索模型controllerAction和相关搜索模型如下谢谢您确定它取决于样式表吗?似乎不太可能,但如果是这样,请尝试暂时删除其他样式表中的语句,直到它起作用为止。例如,可能的表更改语句。是的,因为当我仅使用默认样式Yii2时,过滤器正在工作,但当我使用我的样式时,它不起作用我已经发布了第一条建议尝试展示你的相关controllerAction和相关搜索模型controllerAction和相关搜索模型如下谢谢你确定这取决于样式表吗?似乎不太可能,但如果是这样,请尝试暂时删除其他样式表中的语句,直到它起作用为止。是的,因为当我只使用默认样式Yii2时,过滤器工作,但当我使用我的样式时,它不工作。我已经发布了第一个建议,尝试两件事1)为什么有$model=Article::find()->all();和'articles'=>$model,在索引中。2) 不要只对字段'designationArticle'或grdiview中的所有字段进行筛选?很抱歉,这两件事'$model=Article::find()->all();“articles”=>$model”我添加了这个选项来使用AngularJS进行过滤,但它也不起作用,我删除了它们,但没有任何改变。过滤器适用于gridView中的所有字段。感谢您的帮助我已经询问过过滤器是否仅适用于“指定文章”字段,或者不适用于任何字段..两件事1)为什么使用$model=Article::find()->all();和'articles'=>$model,在索引中。2) 不要只对字段'designationArticle'或grdiview中的所有字段进行筛选?很抱歉,这两件事'$model=Article::find()->all();“articles”=>$model”我添加了这个选项来使用AngularJS进行过滤,但它也不起作用,我删除了它们,但没有任何改变。过滤器适用于gridView中的所有字段。感谢您的帮助我已经询问过过滤器是否仅适用于“指定文章”字段,或者不适用于任何字段。。