【问题标题】:yii2 Pass two variables into onchangeyii2 将两个变量传入 onchange
【发布时间】:2018-10-12 16:24:11
【问题描述】:

我在尝试在 yii2 的 onchange 中传递两个变量时遇到问题。下面的代码不起作用。

_form

    <?= $form->field($model, 'commodity')->dropDownList(
             ArrayHelper::map(['empty'=>'Empty string'], 'id', 'value'),
            [
             'prompt'=>'------- Select --------',
              'id'=>'pcommodity', 
              'disabled'=>"disabled", 
              'style' => 'width:250px',
              'onchange'=>
              '$.post("/import-conditions/plants/listsspecies?
               name='.'" +$(this).val(),function(data)
             {
                 $( "select#pspecies").html(data)

             })      

                 here is the problem  

            **$.post("/import-conditions/plants/listsintendeduse?name='.'"
           +$(this).val(),function(data)'.'+$(category).val(),function(data)
           {
             $( "select#pintendeduse").html(data)
            })**

           $.post("/import-conditions/plants/listsorigin?name='.'"
           +$(this).val(),function(data)
           {
             $( "select#porigin").html(data)
            }) 
             ;' 
            ])->label(false);?>

这个表单信息是传递给控制器​​的,这里是控制器的代码。

public function actionListsintendeduse($name,$category)
    {
         $countMaindata= Plants::find()
                        ->where(['commodity'=> $name,'category'=>$category])
                        ->count();
         $maindata  = Plants::find()
                 ->select('intendeduse')
                 ->where(['commodity'=> $name,'category'=>$category])
                 ->orderBy(['intendeduse'=>SORT_ASC])
                 ->distinct()
                 ->all();
         if($countMaindata > 0)
         { 
              // echo '<option value="">Select intendeduse </option>';
             foreach ($maindata as $main)
             {
                 echo "<option value='".$main->intendeduse."'> ".$main->intendeduse."</option>";                
             }
         }else{
                 echo "<option> - </option>";
             }


    }

我正在尝试传递两个变量并让控制器按这两个变量进行过滤。

【问题讨论】:

  • 控制台错误是什么?
  • Uncaught SyntaxError: Unexpected token +

标签: jquery yii2 yii2-advanced-app


【解决方案1】:

你有一个语法错误

试试这个

$.post(
    "/import-conditions/plants/listsintendeduse?name="
        +$(this).val() + "&category=" + $(category).val(),
    function(data) {
          $( "select#pintendeduse").html(data)
    }
)

【讨论】:

  • 你的帖子真的很有帮助,我已经修改它以适应 yii2。
  • $.post("/import-conditions/plants/listsintendeduse?name='.'" +$(this).val() + "&category='.'" + $(pcategory) .val(), function(data) { $( "select#pintendeduse").html(data) })
猜你喜欢
  • 2022-01-21
  • 2012-04-29
  • 1970-01-01
  • 1970-01-01
  • 2017-05-28
  • 1970-01-01
  • 2016-12-07
  • 1970-01-01
  • 2016-01-01
相关资源
最近更新 更多