v2.5.2
Giriş yap

Basit bir il ilçe dropdownı yapamadım

Anonim
494 defa görüntülendi

Merhaba yazılım konusunda bilgim başlangıç seviyesinde. Kendimde proje üretmeye çalışıyorum.

Problemim şu;

Basit bir il ilçe seçimi yapmaya çalışıyorum. Ajax dan gelen ilçeyi selectin optionu olarak basmaya çalışıyorum.
İlçeleri consolda alabiliyorum sorunsuz olarak ama değerleri optiona gönderemiyorum. Consoleda herhangi bir hata yok.
innerHTML yerine alternatif Append denedim ama olmuyor

<div class="col-md-3">
    <div class="form-group">
        <label> İlçe </label> <br>
        <select class="selectpicker" id="town" data-live-search="true" data-selected-text-format="count > 3" data-width="fit" name="town" required>
            <option style="width: 100%;" value="0" selected>Şehir Seçin</option>
        </select>
    </div>
</div>
 <script>
        $('select[name=city]').change(function() {
            var city = document.getElementById('city').value;
            $.ajax({
                type: "POST",
                url: "{{ route('getTown') }}",
                data: {
                    "_token": "{{ csrf_token() }}",
                    'city_id': city
                },
                success: function(response) {
                    if (response.status == '200') {
                        var town = "";
                        var contetns = response.dataes;

                        Object.keys(contetns).forEach(key => {
                            town += "<option value='" + contetns[key]['ilce_sehirkey'] + "'>" + contetns[key]['name'] + "</option>"
                        });
                        document.getElementById('town').html = town;
                    } else {
                        console.log('Status not 200');
                    }
                }
            })

        });
    </script>

Cevap yaz
Cevaplar (1)
kargasa1982
1254 gün önce

tüm ilçe bilgilerini ` <option></option>` tagları ile birlikte php tarafında bir değişkene at ve onu geri döndür.

$data["veri"] = "";

foreach ($items as $item) {
    $data["veri"].='<option value="'.$item->ilcekod.'">'.$item->ilce.'</option>';
}

json_encode($data);

.....
success: function (data) {
    $("#ilce").html(data.veri);
},
....