S.a laravelde yeniyim ve daha önce böyle birşey yapmış olan biri varsa yardımını bekliyorum.Amacım il seçildiğinde otomatik olarak ile göre ilçeleri seçebilmek .Araştırmalar yaparak belli bir yere kadar geldim ama orada tıkandım. Kodlarım
ekle.blade.php ;
@extends('backend.admin.layout.master')
@section('breadcrumb')
<li>
<a href="{{ URL::to('ev/evekle') }}">Ev Ekle</a>
</li>
@stop
@section('alttitle')
<h1 id="main-heading">
Ev Ekle <span>Bu Kısımdan Sisteme Ev Ekleyebilirsiniz</span>
</h1>
@stop
@section('content')
<div class="row-fluid">
<div class="span12">
<div class="widget">
<div class="widget-header">
<span class="title">Ev Ekle</span>
</div>
<div class="widget-content form-container">
<form class="form-horizontal validate" action="{{ URL::to('ev/evekle') }}" method="post">
<div class="control-group">
<label class="control-label" for="input00">Başlık <span class="required">*</span></label>
<div class="controls">
<input name="evbaslik" type="text" id="input00" class="span12" required>
</div>
</div>
<div class="control-group">
<label class="control-label" for="input01"> İl <span class="required">*</span></label>
<div class="controls">
<select name="sehir" class="span12 select2 required">
<option value="0">Seçiniz</option>
@foreach($iller as $il)
<option value="{{$il->id}}">{{$il->iladi}}</option>
@endforeach
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="input02"> İlce <span class="required">*</span></label>
<div class="controls">
<select name="ilce" class="span12 select2 required">
@foreach($ilceler as $ilce)
<option value="0">Önce şehir seçin</option>
@endforeach
</select>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-success">Kaydet</button>
<button type="reset" class="btn btn-danger" type="reset">İptal Et</button>
<button onclick="geridon()" type="button" class="btn btn-inverse pull-right">Geri Dön</button>
</div>
{{Form::token()}}
</form>
</div>
</div>
</div>
</div>
@stop
<!-- Bu kısım bu viewe ait css dosyaları -->
@section('css')
<!-- Select2 -->
<link rel="stylesheet" href="{{ URL::to('Backend/plugins/select2/select2.css') }}" media="screen">
<!-- CLEditor -->
<link rel="stylesheet" href="{{ URL::to('Backend/plugins/cleditor/jquery.cleditor.css') }}" media="screen">
@stop
<!-- Bu kısım bu viewe ait js dosyaları -->
@section('js')
<script type="text/javascript">
$(function(){
$('select[name="sehir"]').change(function(e){
var $val = $(this).val();
if($val!=0) {
$.get('/ajax/ilce_getir/'+$val+'/0',function($data){
$('select[name="ilce"]').html($data);
}).fail(function(){
alert('Lütfen yeniden deneyin');
});
}
});
});
</script>
<!-- Select2 -->
<script src="{{ URL::to('Backend/plugins/select2/select2.min.js') }}"></script>
<!-- CLEditor -->
<script src="{{ URL::to('Backend/plugins/cleditor/jquery.cleditor.min.js') }}"></script>
<script src="{{ URL::to('Backend/plugins/cleditor/jquery.cleditor.icon.min.js') }}"></script>
<script src="{{ URL::to('Backend/plugins/cleditor/jquery.cleditor.table.min.js') }}"></script>
<script src="{{ URL::to('Backend/plugins/cleditor/jquery.cleditor.xhtml.min.js') }}"></script>
{{HTML::script('Backend/custom-plugins/bootstrap-fileinput.min.js')}}
@stop
ve routes.php ;
Route::get('ajax/ilce_getir',function ($il_id,$selected=0) {
//istek bir ajax request mi?
if(Request::ajax()) {
//route filter'dan zaten il_id yi sadece pozitif tam sayı gelebilir [0-9]+ gibi regexledik, ondan kontrol etmeye gerek yok
$ilceler = Ilce::where('il_id',$il_id)->get();
//eğer en az 1 ilçe varsa html option tagı döndürüp çıktıyı alıyoruz.
if(count($ilceler)) {
$out = '';
foreach ($ilceler as $ilce) {
$out.= '<option value="'.$ilce->id.'"'.($ilce->id==$selected?' selected="selected"':'').'>'.$ilce->title.'</option>';
}
//yoksa şehir hatalı seçmiş demek, atıyorum şehir id si 4545 gibi. imkansız normalde bu state'e düşmesi.
} else {
$out. '<option value="-1">Lütfen geçerli bir şehir girin</option>';
}
//htmöl çıktıyı döndürüyoruz.
return $out;
//istek bir ajax request değilse ana sayfay döndür geri.
} else {
return Redirect::to('/');
}
});
Çalıştırdıgımda alert('Lütfen yeniden deneyin'); hatasını alıyorum . Şimdiden teşekkürler .