2016-01-13 153 views
0

我有关于dropDownList onchange事件的资源,但是当我选择我的下拉列表时,什么也没有发生,并且显示任何错误消息。Yii框架:dropDownList onchange不起作用

这是我下拉列表视图

<?= $form->field($model, 'pro_id') 
    ->dropDownList($pro_option,   // options 
    ['prompt'=>'...'] , // options 
    ['onchange' => '$.post("'.Yii::$app->urlManager->createUrl(["transaction/price"]).'"+$(this).val(), function(data) { 
     $("#transactionform-r_price").html(data); 
    })']);?> 

<?= $form->field($model, 'r_price')->textInput(['readonly' => true]) ?> 

这是我的控制器(TransactionController.php)actionPrice

public function actionPrice($id) 
{ 
    $price = 123; 
    return $price; 
} 

回答

1

请更正你的语法是这样的。

<?= $form->field($model, 'pro_id')->dropDownList($pro_option, [ 
    'prompt' => '---Select Value---', 
    'onchange'=>'$.get("'.Url::toRoute(['transaction/price']).'", { id : $(this).val() }) 
     .done(function(data) { 
      $("#'.Html::getInputId($model, 'r_price').'").html(data); 
    });' 
]) ?> 
+0

嗨,我的网址是表明像'HTTP://localhost/basic/web/index.php R =事务%2Fprice%269'我得到一个错误味精404(未找到) –

+0

@ReiTee。请尝试更新我的更新回答 –

+0

@ReiTee中的最后一个选项。使用get方法,因为您在控制器动作中传递'$ id' –