• 09-10-2017, 17:02:39
    #1
    Merhabalar,
    İlleri getiren bir web servis var aşağıdaki gibi listeleyebiliyorum.
    <label>İl Seçiniz</label>
        <select name="iller" class="form-control" id="iller">
        <option value="0">İl getir</option>
            <?php foreach ($il as $satir) {    ?>        
            <option value="<?php echo $satir->Kod ?>"><?php echo $satir->Ad ?></option>
            <?php     }    ?>
        </select>
        <select name="ilceler" class="form-control" id="ilceler">
            <option value="0">İlçe Seçiniz</option>
        </select>
    İlçeleri il koduna göre getiren liste ise
        <select name="ilceler" class="form-control" id="ilceler">
        <option value="0">İl getir</option>
            <?php foreach ($ilce as $satir) {    ?>        
            <option value="<?php echo $satir->Kod ?>"><?php echo $satir->Ad ?></option>
            <?php     }    ?>
        </select>
    il ve ilçe listeleri ayrı ayrı sayfalarda geliyor. Fakat ben yan yana select box larda gelmesini istiyorum. Yani tek sayfada. Nasıl JS ile tek sayfaya birleştirebilirim?
    Teşekkürler.
  • 10-10-2017, 13:41:52
    #2
    adalim adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,
    İlleri getiren bir web servis var aşağıdaki gibi listeleyebiliyorum.
    <label>İl Seçiniz</label>
        <select name="iller" class="form-control" id="iller">
        <option value="0">İl getir</option>
            <?php foreach ($il as $satir) {    ?>        
            <option value="<?php echo $satir->Kod ?>"><?php echo $satir->Ad ?></option>
            <?php     }    ?>
        </select>
        <select name="ilceler" class="form-control" id="ilceler">
            <option value="0">İlçe Seçiniz</option>
        </select>
    İlçeleri il koduna göre getiren liste ise
        <select name="ilceler" class="form-control" id="ilceler">
        <option value="0">İl getir</option>
            <?php foreach ($ilce as $satir) {    ?>        
            <option value="<?php echo $satir->Kod ?>"><?php echo $satir->Ad ?></option>
            <?php     }    ?>
        </select>
    il ve ilçe listeleri ayrı ayrı sayfalarda geliyor. Fakat ben yan yana select box larda gelmesini istiyorum. Yani tek sayfada. Nasıl JS ile tek sayfaya birleştirebilirim?
    Teşekkürler.
    İpucu : Select2'yi araştırın
  • 10-10-2017, 15:07:00
    #3
    Misafir
    Hocam arkadaşın istediği şey ile Select2 nun alakası yok ama genede araştırsın illa ki ileride lazım olur.
    Php - Ajax veya Post işlemiyle il seçildikten sonra ilçe listesini dinamik olarak yan tarafa getirebilirsin.
    $( "#ilSelecti").change(function() {
         var _il = $("#ilSelecti").val();
         if(_il != 0){
            $.post("phpDosyanizinUrlAdres,",{il: _il, sec: 0}, function( data ) {
                $(".ilceSelecti").html(data);
           });
        }else{$(".ilceSelecti").html("");}
    });
    php dosyanızada gelen post datasını temizleyip kontrol edip ilgili ilçe listesini "echo" ile yazın.
    Buradaki "0" if'i ise il selectinde ilk başta "selected" olarak duran il seçiniz yazısının value değeri yani şu
    <option value="0">İl Seçiniz...</option>
    Böylece adam farklı il seçtiğinde onun datası gelecek ancak gidip il seçiniz derse tekrardan ilçe divinin içi boşlatılacaktır
    php kısımlarını kendiniz yazarsınız artık
  • 10-10-2017, 15:15:28
    #4
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Hocam arkadaşın istediği şey ile Select2 nun alakası yok ama genede araştırsın illa ki ileride lazım olur.
    Php - Ajax veya Post işlemiyle il seçildikten sonra ilçe listesini dinamik olarak yan tarafa getirebilirsin.
    $( "#ilSelecti").change(function() { var _il = $("#ilSelecti").val(); if(_il != 0){ $.post("phpDosyanizinUrlAdres,",{il: _il, sec: 0}, function( data ) { $(".ilceSelecti").html(data); }); }else{$(".ilceSelecti").html("");} });
    php dosyanızada gelen post datasını temizleyip kontrol edip ilgili ilçe listesini "echo" ile yazın.
    Buradaki "0" if'i ise il selectinde ilk başta "selected" olarak duran il seçiniz yazısının value değeri yani şu
    <option value="0">İl Seçiniz...</option>
    Böylece adam farklı il seçtiğinde onun datası gelecek ancak gidip il seçiniz derse tekrardan ilçe divinin içi boşlatılacaktır
    php kısımlarını kendiniz yazarsınız artık
    Nasıl yok arkadaşım? İlçeleri illere göre getirmekten bahsediyor, dinamik şekilde kolayca select2 ile yapabilir.
  • 10-10-2017, 15:22:59
    #5
    Misafir
    DWather adlı üyeden alıntı: mesajı görüntüle
    Nasıl yok arkadaşım? İlçeleri illere göre getirmekten bahsediyor, dinamik şekilde kolayca select2 ile yapabilir.
    Dinamik ile statik arasında fark vardır.
    Select2 için ekstra css - js dosyası sisteme eklenmelidir. Ayrıca sonrasında ilgili ilçe verileri bir JS dosyasından çekilir. Buda onu STATİK veri haline getirir.
    Ama arkadaş dinamik dediği için her türlü gene php yazılmak zorundadır. Select2 bir JS pluginidir. İçerisinde PHP dosyası sunmaz size.
    He burada derseniz ki ajax metodu desteği var gene PHP kısmı yani DİNAMİK kısım kişi tarafından yazılmak zorunda olacağından böyle bir işte Select2 sadece pratik bir görsel öge olarak iş görür.

    Ayrıca arkadaşın kodlarını incelersen PHP ile veritabanından data çekiyor DİNAMİK olarak aynı sayfa içinde buton yada select change ile PHP çalıştıramayacağından harici bir dosyadan AJAX veya POST ile PHP dosyası çalıştırıp DİNAMİK data alman gerekir.