Giriş yap
Javascript içinde php koşul çalıştırmak

Merhaba arkadaşlar, aşağıdaki java script içinde php koşulu çalıştırmak isityorum. Şöyleki;

<script>
    $.getJSON("il-bolge.json", function(sonuc){
        $.each(sonuc, function(index, value){
            var row="";
            row +='<option value="'+value.il+'" xxxxxxxxxxxxxx >'+value.il+'</option>';
            $("#il").append(row);
        })
    });


    $("#il").on("change", function(){
        var il=$(this).val();

        $("#ilce").attr("disabled", false).html("<option value=''>İlçe Seçin..</option>");
        $.getJSON("il-ilces.json", function(sonuc){
            $.each(sonuc, function(index, value){
                var row="";
                if(value.il==il)
                {
                    row +='<option value="'+value.ilce+'">'+value.ilce+'</option>';
                    $("#ilce").append(row);
                }
            });
        });
    });

</script>

xxxxxxxxxx yazan kısma ya da siz doğru yer neresi diyorsanız adres satırında $_GET['il'] değerini alıp ilgli ili seçili göstermesini istiyorum.

<?php if($_GET["il"]=='javascipt içindeki il değerei yani value.il') { echo "selected/";} ?>>

Nasıl bir düzenleme yapmalıyım. Saygılar.

tayfunerbilen
8 gün önce

mantığın hatalı çünkü javascript değişkenini php'de kullanamazsın ama php değerini javascript değişkeninde değer olarak atarsan ve ona göre şöyle bir işlem yaparsan işe yarar.

<script>
var il_id = <?=isset($_GET['il']) ? $_GET['il'] : 0?>;
$.getJSON("il-bolge.json", function(sonuc){
    var options = [];
    $.each(sonuc, function(index, value){
        options.push('<option value="' + value.il + '" ' + (il_id == value.il ? 'selected' : '') + '>' + value.il + '</option>');
    });
    $("#il").append(row);
});
</script>
pcmemo
5 gün önce

@tayfunerbilen yanıt için teşekkür ederim. Genelde senin yanıtlarını ufak bir modifikasyonla bazen de direk yazdığın gibi kullandığımda hallediyordum.

Ama bu sefer olmadı, ben bir yerde hata yapmış olabilirim. Aşağı tam olarak nasıl kullanığımı yazayım. Bilgileri düzenlemek için buna ihtiyacım var.

<div class="col-md-12 form-group">
    <div class="row">
      <div class="col-md-6 form-group">
        <label>Şehir <span class="text-danger">*</span></label>
        <select name="Sehir" id="il" class="form-control" required="">
          <option value="">Seçin...</option>
        </select>
      </div>
      <div class="col-md-6 form-group">
        <label>İlçe <span class="text-danger">*</span></label>
        <select name="Ilce" id="ilce" class="form-control"  required="" disabled="disabled">
          <option value="">Seçin...</option>
        </select> 
      </div>
    </div>
  </div>
  <script>
    $.getJSON("il-bolge.json", function(sonuc){
        $.each(sonuc, function(index, value){
            var row="";
            row +='<option value="'+value.il+'">'+value.il+'</option>';
            $("#il").append(row);
        })
    });


    $("#il").on("change", function(){
        var il=$(this).val();

        $("#ilce").attr("disabled", false).html("<option value=''>Seçin..</option>");
        $.getJSON("il-ilces.json", function(sonuc){
            $.each(sonuc, function(index, value){
                var row="";
                if(value.il==il)
                {
                    row +='<option value="'+value.ilce+'">'+value.ilce+'</option>';
                    $("#ilce").append(row);
                }
            });
        });
    });

</script>

Bu ilk kayıt sayfasında gayet işime yarıyor ama kaydı düzenleme ekranında kayıt edilmiş il ve ilçeyi ekrana getirmek için bir değişikliğe ihtiyacım var.

Yazdığını doğru modifiye edemedim. Yardım için tekrar teşekkürler.

Nasıl akıllıca soru sorulur?
Daha hızlı ve kaliteli cevaplar almak için önce nasıl soru sorulacağını bilmeniz gerekir. Eğer bilmiyorsanız bu yazı serisini okuyun.

Cevap yaz