如何在Laravel中进行动态下拉?

时间:2017-10-20 07:07:15

标签: php ajax laravel

我正在尝试制作本地化的'下拉列表显示元素取决于在' judete'中选择的元素。下拉列表。

我有桌子和judete'与idJudet和numeJudet专栏和' localitati'在我的数据库中使用idLocalitate idJudet和numeLocalitate列。

这是视图文件中的代码:

Judetul:      <select name="judete" id="judete" required>
<option value="0" disabled="true" selected="true">-Select-</option>
@foreach($judete as $jud)
<option value="{{$jud->idJudet}}">{{$jud->numeJudet}}</option>
@endforeach

</select>
<br><br>
Localitatea:  <select name="localitati" id="localitati" required>
</select>

<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"> 
</script>

<script type="text/javascript">
$(document).ready(function(){
$('#judete').change(function(){

var judete_id=$(this).val();
var div=$(this).parent();
var op=" ";

$.ajax({
type:'get',
url:'{!! URL::to('findLocalitati')!!}',
data:{'id':judete_id},
succes:function(data){

var op='<option value="0" selected disabled>Alege localitate</option>';
for(var i=0;i<data.length;i++){
var op='<option value="'+data[i].id+'">'+data[i].localitati+'</option>';
}
div.find('.localitati').html(" ");
div.find('.localitati').append(op);
},
error:function(){
}
});
});
});
</script> 

这是提供商中的代码:

<?php

namespace App;
use Illuminate\Database\Eloquent\Model;

class Localitati extends Model
{
protected $table='localitati';
}

这是路线中的代码:

Route::get('/', function () {
return view('adauga');
});
Route::get('/', 'JudeteController@judetefunc');
Route::get('/findLocalitati', 'JudeteController@findLocalitati');

这是控制器中的代码:

class JudeteController extends Controller
{
public function judetefunc(){
$judete=Judete::all();
return view('judete', compact('judete'));
}
public function findLocalitati(Request $request){
$data=Localitati::select('numeLocalitate', 'idLocalitate')-
>where('idJudet', request->id)->take(100)->get();
return response()->json($data);
}
}

&#39; localitati&#39;下拉列表没有显示任何内容。 如果我的代码中有错误,你能告诉我吗? 谢谢!

0 个答案:

没有答案