2016-01-13 122 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' –