|
|
|
Yazan
|
Konu: javascript select kullanımı yardım ? (Okunma Sayısı 391 defa)
|
arslanhasan
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 7
|
arkadaşlar şöyle bir sorunum var ?
ülke adı : <select name""> <option value=""></option> </select>
şehir adı :
<select name""> <option value=""></option> </select>
ülke adı seçildiğinde o ülkeye ait alt kısımdaki select'te şehir adını otomatik olarak nasıl getiirim ? şimdidem teşekkür ederim.
|
|
|
|
|
Logged
|
|
|
|
|
obareey
|
şu şekilde bir mantıkla yapabilirsin : <script> /* Genelde bu kısım AJAX (!?) ile oluşturulur */ var sehirler = new Array("İstanbul","Tekirdağ"); // Şehirlerimizi bir dizide tutuyoruz sehirler["İstanbul"] = new Array("Bakırköy","Beşiktaş"); // ilçelerimizi de alt dizilerde tutuyoruz sehirler["Tekirdağ"] = new Array("Çorlu","Çerkezköy");
/* İlk select'imizi oluşturacak fonksiyon */ function Olustur() { var sehir = document.getElementById("sehir"); // select nesnemizi alıyoruz for ( var i = 0; i < sehirler.length; i++ ) { sehir.options.length++; // select nesnemizin içeriğini genişletiyoruz sehir.options[i].text = sehirler[i]; // Yazı değerini şehire ... sehir.options[i].value = i; // ... value değerini sıraya atıyoruz } IlceGoster(sehirler[0]); // daha sonra ilk soradaki ilimizin ilçelerini gösteriyoruz. }
/* Şehir numarasına göre ilçelerimizi listeleyeceğiz */ function IlceGoster(sehirno) { var ilce = document.getElemetById("ilce"); // ilce id'li select nesnemizi alıyoruz var sehir = sehirler[sehirno]; // hangi şehrin seçilmiş olduğuna bakıyoruz ilce.options.length = 0; // select nesnesinin içeriğini boşaltıyoruz for ( var i = 0; i < sehirler[sehir].length; i++ ) { // yukarıdaki ile aynı işlemleri yapıyoruz. ilce.options.length++; ilce.options[i].text = sehirler[sehir][i]; ilce.options[i].value = i; } }
</script> <!-- Sayfa yüklendiğinde şehir isimlerini de yüklüyoruz --> <body onload = "Olustur()"> <!-- seçim yapıldığında ilçe isimlerini yeniden yüklüyoruz --> <select id="sehir" onchange="IlceGoster(this.selectedIndex)"></select> <select id="ilce"></select> </body>
Bu şekilde genel ve basit iki fonksiyonla işini halledebilirsin. ancak yukarıda da belirttiğim gibi genelde şehir seçildiğinde o şehirdeki bilgiler AJAX denilen teknik sayesinde başka bir sunucu taraflı dilde ( ör.: php ) yazılmış dosyadan veritabanını sorgulayarak ilçe isimlerini yine dizi olarak döndürür. ancak böyle olsa bile yapılacak işlem yine yukarıdakiyle aynıdır. kolay gelsin. iyi çalışmalar...
|
|
|
|
|
Logged
|
|
|
|
|
 |
|