我想在从文本框中的下拉列表中选择一个值后加载一些 ajax 数据。
例如:从下拉列表中选择教师后,教师剩余学分和credit_taken 值应该被加载。如何使用 ajax 实现?
注意:这里的教师值是从 Ajax 中选择的另一个下拉列表中选择的
<script>
$('#teacher').on('change',function(e){
var teach_id = $('#teacher option:selected').attr('value');
var info=$.get("{{url('ajax-teach')}}",{teach_id:teach_id});
info.done(function(data){
$.each(data,function(index,subcatObj){
/// Here will be the loaded code ///
});
});
info.fail(function(){
alert('ok');
});
});
</script>
这是我的 Controller
Route::get('ajax-teach',function(Request $request){
$teach_id = $request::input(['teach_id']);
$teachers=\App\Teacher::where('teacher_id','=',$teach_id)->get();
return Response::json($teachers);
});
这是查看页面:
<div class="form-group">
<label for="">Teacher</label>
<select class="form-control input-sm" required name="teacher_id" id="teacher" >
<option value=""></option>
</select>
</div>
<div class="form-group">
<label>Credit to be Taken</label>
<input type="text" name="credit_taken" id="credit_taken" class="form-control" required placeholder="Credit to be Taken">
</div>
<div class="form-group">
<label>Remaining Credit</label>
<input type="text" name="remaining_credit" class="form-control" required placeholder="Remaining Credit">
</div>
最佳答案
在你的 route (routes/web.php
)
Route::get( '/ajaxteach', array(
'as' => 'ajaxteach',
'uses' => 'TeachController@get_teach'
) );
在你的 Controller 中(app/Http/Controllers/TeachController.php
)
class TeachController extends Controller
{
public function get_teach(Illuminate\Http\Request $request)
{
$teach_id = $request->get('teach_id');
$teachers=\App\Teacher::where('teacher_id','=',$dept_id)->get();
return response()->json(['response' => $teachers]);
}
}
然后在您的 AJAX 脚本中您可以使用以下至少一种方式
在javascript代码中使用绝对url
var base_url = 'http://localhost/laravel' $.ajax({ type: "GET", url : base_url+"/ajaxteach", data : dataString, success : function(data){ console.log(data); }
在路由中使用
url()
$.ajax({ type: "POST", url : "{{url('ajaxteach')}}", data : dataString, success : function(data){ console.log(data); }
关于PHP-Laravel : how to Load Ajax data after selected changes from dropdown?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36855854/