代码之家  ›  专栏  ›  技术社区  ›  yii2__

在Yii2中通过JavaScript更改值

  •  -1
  • yii2__  · 技术社区  · 6 年前

    我的yii2应用程序中有两个字段(字段a和字段b)。当我更改字段a的值(它的下拉列表)时,我想自动更改字段b的值。例如,如果我将字段a的值更改为“12”,则字段b的值应更改为“13”。

    <script>
    var textbox2 = document.getElementById("model_fielda");
        textbox2.onchange = function(){
        value = document.getElementById("model_fielda").value;          
        if(value ==  12){
         document.getElementById("model_fieldb").value == 13;
        }
     };
    </script>       
    
    2 回复  |  直到 6 年前
        1
  •  0
  •   yii2__    6 年前

     document.getElementById("model_fieldb").value = 13;
    
        2
  •  0
  •   Alisher Nasrullayev    6 年前

    在视图中:

    <?= Html::dropDownList("A",null,ArrayHelper::map(A::find()->asArray()->all(), 'id', 'name'),[
      "class"=>"form form-control",
      "prompt"=>Yii::t('template', 'Select anything ...'),
      'onchange'=>'
          $.get("route/to/action/A?param='.'"+$(this).val(),function(data){
              $("select#idOfBSelct").html(data);
          });'
    ]);?>
    
    
    <?= Html::dropDownList("B",null,[],[
      "class"=>"form form-control",
      "id"=>"idOfBSelct",
      "prompt"=>Yii::t('template', 'Select anything ...'),
    ]);?>
    

    在控制器中:

    public function actionA()
    {
        $dataFromAjax = Yii::$app->request->getQury('param');
    
        // do something with $dataFromAjax what you want
        return $anyResult;
    }