我创建了名为college_drop和univ_drop的模型,它们的代码如下所示
我在数据库中创建了两个关于学院名称和大学名称的表,在学院名称表中,我给出了大学id,以便根据它的一个大学来给出适当的学院名称
从这个代码中,我能够得到大学列表,但在下拉列表中根本没有得到学院名称。。。 谁能帮帮我。。。 college_drop.php
<?PHP
namespace App;
use Illuminate\Database\Eloquent\Model;
class college_drop extends Model
{
public function university()
{
return $this->belongsTo('App\univ_drop');
}
}
univ_drop.php
<?PHP
namespace App;
use Illuminate\Database\Eloquent\Model;
class univ_drop extends Model
{
public function colleges()
{
return $this->hasMany('App\college_drop');
}
}
MainController.php
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-
q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
crossorigin="anonymous"></script>
<script src="http://demo.itsolutionstuff.com/plugin/jquery.js"></script>
</head>
<select name="university" id="university">
<option selected="false">
select university
</option>
@foreach($university as $uni)
<option value="{{$uni->id}}">{{$uni->university_names}}</option>
@endforeach
</select>
<select name="college" id="college">
<option selected="false">
select college
</option>
</select>
@section('scripts')
<script type="text/javascript">
$(document).ready(function() {
$('select[name="university"]').on('change', function() {
var uniID = $(this).val();
if(uniID) {
$.ajax({
url: '/drop/ajax/'+uniID,
type: "GET",
dataType: "json",
success:function(data) {
$('select[name="college"]').empty();
$.each(data, function(key, value) {
$('select[name="college"]').append('<option value="'+ key +'">'+
value+'</option>');
});
}
});
}else{
$('select[name="college"]').empty();
}
});
});
</script>
@endsection
这是我的web.php文件
Route::get('drop',array('as'=>'drop','uses'=>'MainController@index'));
Route::get('drop/ajax/{id}',array('as'=>'drop.ajax','uses'=>'MainController@getColleges'));
您调用的路由与在web.php中定义的路由不同
$.ajax({
url: '/drop/ajax/' + uniID,
type: "GET",
dataType: "json",
success: function (data) {
$('select[name="college"]').empty();
$.each(data, function (key, value) {
$('select[name="college"]').append('<option value="' + key + '">' +
value + '</option>');
});
}
});