我在文本框中显示ajax数据时遇到问题,这是我唯一的问题,我无法在文本框中显示数据,请参阅
控制器中的代码
public function create()
{
$aircraft = Aircraft::all();
$aircraft_reg = Aircraft::pluck('aircraft_registration_number', 'id')->toArray();
return view('admin.aircrafts.create',compact('aircraft_reg','aircraft'));
}
public function findPrice(Request $request) {
$p = Aircraft::select('aircraft_id')->where('id',$request->id)->first();
return response()->json($p);
}
路线代码
Route::get('/admin/aircrafts/findPrice', 'Admin\AircraftsController@findPrice');
视图中的代码
{{Form::select('productname', $aircraft_reg,null,['class' => 'form-control productname', 'placeholder' => 'Select RPC No.'])}}<br>
<br>
{{Form::text('prod_price', '', ['class' => 'form-control prod_price'])}}
AJAX中的代码
<script type="text/javascript">
$(document).ready(function(){
$(document).on('change','.productname',function(){
var prod_id=$(this).val();
var a=$(this).parent();
console.log(prod_id);
var op="";
$.ajax({
type:'get',
url:'{!! URL::to('admin/aircrafts/findPrice') !!}',
data:{'id':prod_id},
dataType:'json',//return data will be json
success:function(data){
console.log("aircraft_id");
console.log(data.aircraft_id);
// here price is column name in products table data.coln name
a.find('.prod_price').val(data.aircraft_id);
},
error:function() {
}
});
});
});
</script>
控制台上有一个警告。
这是警告
[Violation]在滚动阻止中添加了非被动事件侦听器 “鼠标滚轮”事件。考虑将事件处理程序标记为“被动” 使页面更具响应性。看到 https://www.chromestatus.com/feature/5745543795965952创建:342
以下是输出,但未显示任何内容
答案 0 :(得分:0)
您的Laravel json应该具有关联数组。像这样: 返回json_encode(array(“ aircraft_id” => $ p));
答案 1 :(得分:0)
请尝试更改此 $(document).on('change','。productname',function(){
以此
$('。productname')。on('change',function(e){
并使用e代替
请尝试一下,让我看看我的工作坊:)
答案 2 :(得分:0)
在jquery中进行此更改。
删除var a = $(this).parent(); 将数据:{'id':prod_id}更改为数据:{id:prod_id}, 更改a.find('。prod_price')。val(data.aircraft_id);到$('。prod_price')。val(data.aircraft_id);
答案 3 :(得分:0)
请遵循以下代码结构 $(document).ready(function(){
$('.productname').on('change',function(e){
e.preventDefault();
var prod_id=$(this).val();
$.ajax({
type:'get',
url:'{!! URL::to('admin/aircrafts/findPrice') !!}',
data:{id:prod_id},
dataType:'json',//return data will be json
success:function(data){
console.log(data.aircraft_id);
$('.prod_price').val(data.aircraft_id);
},
error:function(){
alert("Error Occurred");
}
});
});
});
答案 4 :(得分:0)
//确保您的html头文件中有此文件
//还请确保在ajax代码之前,在jquery脚本中包含此脚本
$.ajaxSetup({
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}
});