# Symfony il , ilçe ve semt seçimi yaptırma

> Kaynak: https://www.tasarimrehberi.net/symfony-il-ilce-semt-secimi-yaptirma/
> Yazar: Nurettin Sezer
> Yayın: 2017-04-04 · Güncelleme: 2017-04-04

form type da  
 `->add('Il', null, array('label'=>'Il','attr'=>array('class'=>'form-control')))`

 

->add(‘Il’, null, array(‘label’=>’Il’,’attr’=>array(‘class’=>’form-control select2me’)))

 

new twige ekle

 

İlçe  
 İl Seçiniz

 

Semt  
 İlçe Seçiniz

 

Mahalle

 

` {% block script %}

          $(document).ready(function(){
              $('.ilcedoldur')
                  .empty()
                  .append('<option selected="selected" value="0" disabled>İl Seçiniz</option>');
              $(".ilsecmealani").change(function() {
                  ilcegetir($(this).val(),"");
              });
              $('.semtdoldur')
                  .empty()
                  .append('<option selected="selected" value="0" disabled>İlçe Seçiniz</option>');
              $("#ilcesecmealani").change(function() {
                  semtgetir($(this).val(),"");
              });
              $('.mahalledoldur')
                  .empty()
                  .append('<option selected="selected" value="0" disabled>Semt Seçiniz</option>');
              $("#semtsecmealani").change(function() {
                  mahallegetir($(this).val(),"");
              });
          });</p>
<p>      
{% endblock %}`

 

Kontroller a ekle  
 ` $em = $this->getDoctrine()->getManager(); kodunun altına ekle`

 

if($request->get(‘ilce’))  
 {  
 $ilce = $em->getRepository(‘WebAdminBundle:Ilce’)->find($request->get(‘ilce’));  
 $otel->setIlce($ilce);  
 }  
 if($request->get(‘semt’))  
 {  
 $semt = $em->getRepository(‘WebAdminBundle:Semt’)->find($request->get(‘semt’));  
 $otel->setSemt($semt);  
 }  
 if($request->get(‘mahalle’)) {  
 $mahalle = $em->getRepository(‘WebAdminBundle:Mahalle’)->find($request->get(‘mahalle’));  
 $otel->setMahalle($mahalle);  
 }

 

base.html.twig ekle

 

`
    $(document).ready(function(){
        $('.inline').click();
        $('#cboxOverlay').click();
    });
    function ilcegetir(idsibu,selected) {
        $.post("{{path('ilce_getir')}}",{'id':idsibu},function(data){
            var datas = $.parseJSON(data);
            $('.ilcedoldur').empty();
            if(datas[0])
            {
                $('.ilcedoldur').append('<option value="0" selected="selected" disabled>İlçeler yüklendi..</option>');
                $.each(datas, function (index, value) {
                    baslik = value.baslik;
                    id     = value.id;
                    select = "";
                    if(id==selected)
                    {
                        select = 'selected="selected"';
                    }
                    $('.ilcedoldur').append('<option value="'+id+'" '+select+'>'+baslik+'</option>');
                });
            }
            else
            {
                $('.ilcedoldur')
                    .append('<option selected="selected" value="0" disabled>Seçilen ile ait ilçe bulunamadı.</option>');
            }
            $(".select2-option-dalyan").select2();
        });
    }
    function semtgetir(idsibu,selected) {
        $.post("{{path('semt_getir')}}",{'id':idsibu},function(data){
            var datas = $.parseJSON(data);
            $('.semtdoldur').empty();
            if(datas[0])
            {
                $('.semtdoldur').append('<option value="0" selected="selected" disabled>Semtler yüklendi..</option>');
                $.each(datas, function (index, value) {
                    baslik = value.baslik;
                    id     = value.id;
                    select = "";
                    if(id==selected)
                    {
                        select = 'selected="selected"';
                    }
                    $('.semtdoldur').append('<option value="'+id+'" '+select+'>'+baslik+'</option>');
                });
            }
            else
            {
                $('.semtdoldur')
                    .append('<option selected="selected" value="0" disabled>Seçilen ilçeye ait semt bulunamadı.</option>');
            }
            $(".select2-option-dalyan").select2();
        });
    }
    function mahallegetir(idsibu,selected) {
        $.post("{{path('mahalle_getir')}}",{'id':idsibu},function(data){
            var datas = $.parseJSON(data);
            $('.mahalledoldur').empty();
            if(datas[0])
            {
                $('.mahalledoldur').append('<option value="0" selected="selected" disabled>Mahalleler yüklendi..</option>');
                $.each(datas, function (index, value){
                    baslik = value.baslik;
                    id     = value.id;
                    select = "";
                    if(id==selected)
                    {
                        select = 'selected="selected"';
                    }
                    $('.mahalledoldur').append('<option value="'+id+'" '+select+'>'+baslik+'</option>');
                });
            }
            else
            {
                $('.mahalledoldur')
                    .append('<option selected="selected" value="0" disabled>Seçilen semte ait mahalle bulunamadı.</option>');
            }
            $(".select2-option-dalyan").select2();
        });
    }
`

 

getir

 

new.html.twig form bitişinin başına ekle  
 ``

 

İlçe  
 İl Seçiniz

 

Semt  
 İlçe Seçiniz

 

Mahalle

 

edit.twig.html ekle

 

form_widget altına ekle  
 ``

 

İlçe  
 İl Seçiniz

 

Semt  
 İlçe Seçiniz

 

Mahalle

 

Sayfanın en altına  
 `{% block script %}

            $(document).ready(function(){
                $('.ilcedoldur')
                    .empty()
                    .append('<option selected="selected" value="0" disabled>İl Seçiniz</option>');
                $(".ilsecmealani").change(function() {
                    ilcegetir($(this).val(),"");
                });
                $('.semtdoldur')
                    .empty()
                    .append('<option selected="selected" value="0" disabled>İlçe Seçiniz</option>');
                $("#ilcesecmealani").change(function() {
                    semtgetir($(this).val(),"");
                });
                $('.mahalledoldur')
                    .empty()
                    .append('<option selected="selected" value="0" disabled>Semt Seçiniz</option>');
                $("#semtsecmealani").change(function() {
                    mahallegetir($(this).val(),"");
                });
                {% if otel.il and otel.ilce %}
                ilcegetir({{ otel.il.id }},{{ otel.ilce.id }});
                {% endif %}
                {% if otel.ilce and otel.semt %}
                semtgetir({{ otel.ilce.id }},{{ otel.semt.id }});
                {% endif %}
                {% if otel.semt and otel.mahalle %}
                mahallegetir({{ otel.semt.id }},{{ otel.mahalle.id }});
                {% endif %}
            });
        
{% endblock %}`

 

İndir:  
 [/download/150/](https://www.tasarimrehberi.net/download/150/)
