2016-01-13 5 views
0

У меня есть ресурс относительно события dropDownList onchange, но когда я выбираю свой раскрывающийся список, который ничего не происходит, и dont покажет любое сообщение об ошибке.Yii framework: dropDownList onchange не работает

Это мой DropDownList в вид:

<?= $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

Привет, мой URL является показать, как 'HTTP: //localhost/basic/web/index.php г = сделка% 2Fprice% 269' я получил сообщ ошибку 404 (не найден) –

+0

@ReiTee. попробуйте обновить последние параметры в моем обновленном ответе –

+0

@ReiTee. используйте метод get, потому что вы проходите '$ id' в действии контроллера –