Dostluk, Hoşgörü ve Paylaşım Mekanı


Etkileşimli Combobox' lar
Hazırlayan : e-serdark
 Tarih : 08.07.2010 14:04:28 - Kategori : Yazılım - Okunma Sayısı : 327

 Bir combobox içeriği değiştiğinde onunla ilişkili ikinci bir combobox' ın da içeriğinin değişmesi gereken durumlar olabilir. Örneğin bir bölge seçtiğinizde o bölgedeki illeri seçebiliyor olmanız gereken durumlar olabilir.


Bir projemde ihtiyacım olduğunda Dynamic Drive' da bulduğum kodu bir örnek uygulama ile inceleyerek birbirleri ile bağlı combobox' ları nasıl yapacağımızı öğreneceğiz. Örneğin bana bölge seçtiğimde, ikinci bir listede o bölgedeki illeri seçmemi sağlayacak bir yapı gerekiyordu. Bunu iller ve ilçeler olarak da özelleştirip kullanabilirsiniz.

Bunun için Javascript kullanıyoruz. 

Öncelikle aşağıdaki kod bloğunu <head>  -  </head> tagları arasına yerleştiriyoruz.

<script type="text/javascript">
/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Kiran Pai | http://www.codecoffee.com/ */

var Akdeniz = new Array("Adana", "Antalya", "Burdur", "Hatay", "Isparta", "Kilis", "Mersin", "Osmaniye");
var DoguAnadolu = new Array("Ağrı", "Ardahan", "Bingöl", "Bitlis", "Elazığ", "Erzincan", "Erzurum", "Hakkari", "Iğdır", "Kars", "Malatya", "Muş", "Tunceli", "Van");
var Ege = new Array("Afyonkarahisar", "Aydın", "Denizli", "İzmir", "Kütahya", "Manisa", "Muğla", "Uşak");
var Guneydogu = new Array("Adıyaman", "Batman", "Diyarbakır", "Gaziantep", "Mardin", "Siirt", "Şanlıurfa", "Şırnak", "Kahramanmaraş");
var IcAnadolu = new Array("Aksaray", "Ankara", "Çankırı", "Eskişehir", "Karaman", "Kayseri", "Kırıkkale", "Kırşehir", "Nevşehir", "Niğde", "Sivas", "Yozgat", "Konya");
var Karadeniz = new Array("Çorum", "Artvin", "Bartın", "Bayburt", "Bolu", "Amasya", "Düzce", "Giresun", "Gümüşhane", "Karabük", "Kastamonu", "Ordu", "Rize", "Samsun", "Sinop", "Tokat", "Trabzon", "Zonguldak");
var Marmara = new Array("İstanbul", "Bursa", "Çanakkale", "Edirne", "Bilecik", "Balıkesir", "Kırklareli", "Kocaeli", "Sakarya", "Tekirdağ", "Yalova");

function set_il() {
  var select_bolge = document.myform.bolge;
  var select_il = document.myform.il;
  var selected_bolge = select_bolge.options[select_bolge.selectedIndex].value;

  select_il.options.length=0;
  if (selected_bolge == "Akdeniz"){
    for(var i=0; i<Akdeniz.length; i++)
    select_il.options[select_il.options.length] = new Option(Akdeniz[i]);
  }
  if (selected_bolge == "DoguAnadolu"){
    for(var i=0; i<DoguAnadolu.length; i++)
    select_il.options[select_il.options.length] = new Option(DoguAnadolu[i]);
  }
  if (selected_bolge == "Ege"){
    for(var i=0; i<Ege.length; i++)
    select_il.options[select_il.options.length] = new Option(Ege[i]);
  }
  if (selected_bolge == "Guneydogu"){
    for(var i=0; i<Guneydogu.length; i++)
    select_il.options[select_il.options.length] = new Option(Guneydogu[i]);
  }
  if (selected_bolge == "IcAnadolu"){
    for(var i=0; i<IcAnadolu.length; i++)
    select_il.options[select_il.options.length] = new Option(IcAnadolu[i]);
  }
  if (selected_bolge == "Karadeniz"){
    for(var i=0; i<Karadeniz.length; i++)
    select_il.options[select_il.options.length] = new Option(Karadeniz[i]);
  }
  if (selected_bolge == "Marmara"){
    for(var i=0; i<Marmara.length; i++)
    select_il.options[select_il.options.length] = new Option(Marmara[i]);
  }

}
</script>

Daha sonra ihtiyacımız olduğu noktada aşağıdaki kod bloğunda göreceğiniz gibi bir yapı ile bu scripti kullanacağız.

  <tr>
    <td>Bölge : </td>
    <td colspan="2">
        <select name="bolge" onchange="set_il()">
            <option value="Akdeniz">Akdeniz
            <option value="DoguAnadolu">Doğu Anadolu
            <option value="Ege">Ege
            <option value="Guneydogu">Güneydoğu
            <option value="IcAnadolu">İç Anadolu
            <option value="Karadeniz">Karadeniz
            <option value="Marmara">Marmara
        </select>
    </td>
  </tr>
  <tr>
    <td>Şehir :</td>
    <td colspan="2"><select name="il">
              <option>------
            </select></td>
    </tr>

İşaretli noktada görüldüğü üzere set_il() fonksiyonunu ilk combobox' ın onchange state' inde kullanıyoruz. Böylece ilk listede bir seçim yapıldığında ikinci listenin içeriği daha önce tanımladığımız aynı isimli array ile eşleştiriliyor.

 

Lisans hakları gereği kodu kullanacağınız noktada programcısının adını ve linkini silmemeniz gerektiğini hatırlatmak isterim.

 


Anahtar Kelimeler : javascript,combobox,function,array,option,onchange,var,chained combobox,etkileşimli,il ilçe liste

RSS Ekle Dersleri RSS ile takip edin...

Konuya link vermek isterseniz bu adresi kullanabilirsiniz.
http://www.herturlu.net/dersgoster.asp?id=48

Lütfen kaynak belirtmeyi unutmayınız...


Son Eklenen 10 Ders
 Etkileşimli Combobox' lar
 Gizli Sürücü ve Donanımları Kaldırmak
 Değişkenler
 Network Güvenliği
 Otomatik Başlatmayı Kapatmak
 c# ile ComboBox kontrolü
 c# ile CheckBox kontolü
 ListBox kontrolü
 ADO OLE DB Connection Strings
 c# , TextBox, Button

Üye Girişi

Kullanıcı adı
Parola
Beni Hatırla
  Şifremi Unuttum
  Üye Olmak İstiyorum

Duyurular

Firmanızı, ürün ve hizmetlerinizi, kelime ya da harf kisitlamasi olmadan, fotograf, video, ses, müzik ve benzeri materyalleri kullanarak, üstelik zaman kisitlamasi da olmadan, ücretsiz olarak tanitabileceginizi biliyormusunuz ? Forumumuzda Ticaret Basligi altinda sinirsiz tanitim imkanini kaçirmayin...


   Sitenizi, Blogunuzu, Forumunuzu kod ekleme derdi olmadan, spam maillere bogulmadan, uzun uzun anlatin, resimler ve benzeri materyallerle destekleyerek Web Siteleri ve Bloglar basligi altinda tanitin...






Zirve100 Site ekle

Online Ziyaretçi(ler) : 6

HerTürlü.Haber
Son Haberler
  Manset Haber   ODTÜ'den insans...  (224)
  Manset Haber   Yerli sanal ger...  (197)
  Manset Haber   Engin Yörükoğlu...  (318)
    Vistanın ömrü d...  (351)
  Manset Haber   48 Çekirdekli İ...  (575)
  Manset Haber   Vodafone Borusa...  (586)
  Manset Haber   Emekliye 100 li...  (803)
    Telekoma son 4 ...  (660)
    Airties Batı Av...  (697)
    IBM, Lenovo Des...  (1212)


Sponsor
 Bu alana sponsor olarak reklam verebilirsiniz. Iletisim
 Hosting Sponsorumuz

Logo Çözüm ve Destek Merkezi, Network ve Donanim Servis Hizmetleri, Hosting Hizmetleri, Özel Yazılımlar


HerTürlü.Net - Dostluk, Hoşgörü ve Paylaşım Mekanı - Tasarım / Programlama : Serdar KARDAN
© 10.03.2004 - 2010  (2372 gündür sizinleyiz...)


Müzik - Sinema - Tiyatro - Kültür Sanat - Edebiyat - Güncel Konular, Haberler - Forum - Dersler - Makaleler
 
Web www.herturlu.net