#ajax #laravel-5
#ajax #laravel-5
Вопрос:
У меня возникли проблемы с тем, что выбранный выпадающий список передает значение полей на другой ввод.
В принципе, у меня есть одна таблица (планы), у которой есть id, plan_name, price. Итак, я хочу передать цену на другой ввод.
Поэтому я ожидаю, что если я выберу один из вариантов, цена будет указана при вводе цены.
blade.php
<div class="control-group">
<label class="control-label">Plan</label>
<div class="controls">
<select name="plan_id" id="plan_id" class="plan" style="width:220px">
<option value="0">Select</option>
@foreach($plans as $plan)
<option value="{{ $plan->id}}" >{{$plan->plan_name}}</option>
@endforeach
</select>
</div>
</div>
<div class="control-group">
<label class="control-label">Price</label>
<div class="controls">
<input class="plan_price" type="number" name="price" id="price">
</div>
</div>
Вот ajax, который я пробовал:
$(document).ready(function(){
$(document).on('change','.plan',function(){
//console.log("hmm its change");
var plan_id=$(this).val();
console.log(plan_id);
$.ajax({
type: 'get';
url:'{!!URL::to('findPrice')!!}',
data:{'id':plan_id},
dataType:'json',
success:function(data){
console.log("price");
console.log(data.price);
a.find('.plan_price').val(data.price);
},error:function(){
}
})
})
});
в моем контроллере у меня есть эта функция:
Я не знаю, правильно ли это в части where.
public function findPrice(Request $request){
$p = Plan::select('price')->where('id',$request->id)->first();
return response()->json($p);
}
Маршрут::
Route::get('/findPrice','SubscriptionController@findPrice');
Комментарии:
1. Вы отправляете
data:{'id':price},
свой AJAX-запрос, но я не вижу, где вы определяетеprice
. Должно ли это бытьdata:{'id':plan_id},
? Ваш запрос и ответ выглядят нормально, кроме этого.2. Я пытался, но все та же ошибка, которую я получил с самого начала :: Uncaught SyntaxError: неожиданный токен ;