»
js ile select menü(ler) kontrolü.
|
| ://www Web tasarımı ve internet ile ilgili olarak karşılaştığınız problemleri ve merak ettiklerinizi burada tartışabilirsiniz. |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Üyelik Tarihi: 26.09.2000
Yer: istanbul
Mesaj: 251
|
js ile select menü(ler) kontrolü.
sitelerde genelde kullanilir, örnegin ülkeyi seçerseniz o ülkeye ait listbox kutusunda sehirler çikar, sehiri seçerseniz o sehire ait alttaki listboxda o sehire ait ilçeler çikar, sonra ilçeyi seçersiniz , o ilçeyeait mahalleler çikar. bana buna benzer bi script gerekiyor. kategori olarak 12 tane alt alta kategori yapmam gerekiyor, tabi burdaki seçenekler ülke sehir ilçe kadar çok degil ama bu isi js ile yapmam lazim, serverda veritabanindan çekerek yapiyorum fakat sonuç yavas çikiyor ben hepsini tek seferde js ye atayim ordan eger alt kategorisi varsa yeni bir select menü de çiksin ve seçilsin. elinde böyle bir script olan arkadaslar örnek verebilirse sevinirim.
__________________
khssi.. |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 26.09.2000
Yer: istanbul
Mesaj: 251
|
Re: js ile select menü(ler) kontrolü.
uyarın için teşekürler, fakat ben soru sormadan önce mutlaka arama yaparım bu sorudan öncede arama yapmıştım istediğim sonuca ulaşamadım.
mesajını aldıktan sonra soruyu daha ayrıntılı anlatmam gerektiğini anladım, ülke şehir ilçe ilişkisi sadece örnek vermek için kullandım. bu sayfadaki örnek 2 kategoriyle olmuş bir örnek, bana maksimum 13 kategoriyle kullanabileceğim bir örnek gerekiyor. İline Göre ilçe scripti örneğin; ilk başta 1 tane select menü görünecek ülkeler, daha sonra seçime göre select menüler çıkacak yani visible = disabled gibi. (ve aşağıda buton olacak bu buton sonuca ulaşılmışsa kullanılabilir olacak bununda kontrolü gerekiyor.) 1. kategori : ülkeyi seçtim, o ülkeye ait şehirler çıkacak 2. kategori : şehiri seçersem o şehire ait ilçeler çıkacak (2. kategoriden sonra bazı seçenekler seçilmedende gönderme butonunu kullanabileceğiz.) 3. kategori : ilçeyi seçtikten sonra mahaller çıkacak (mesala burda bazı durumlarda ilçeyi seçmedende gönder butonunu kulalnabileceğim. bu ilçeden gelen sonuca göre kontrol edilecek.) 4. kategori : mahalleyi seçtik bu mahalleye ait sokaklar gelecek, (buradada sokak seçmeden mahallenin değerine göre ilçeyi seçmeden gönder butonunu kullanabiliriz.) 5.kategori : devam ediyor. taki 13. kategoriye kadar. benim sizden istediğim böyle bir scrpit tabiki değil, sadece 3 veya 4 den fazla bu şekilde kategoriyi gösteren bir script elinizde varsa bana göndermeniz. ben bunu ASP ile ile yaptım fakat, her seferinde veri çekmesi vakit alıyor tek seferde 13 ayrı array a atayıp, durama göre select menü leri göstermesi. umarım anlatabilmişimdir.
__________________
khssi.. |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 25.08.2001
Yer: Antalya
Yaş: 27
Mesaj: 970
|
Re: js ile select menü(ler) kontrolü.
İline Göre ilçe scripti
adresindeki scripti inceleyip mantığını kavrarsan ordaki select boxu istediğin kadar çoğaltabilirsin.
__________________
Take me back to my boat on the river and I won't cry out any more |
|
|
|
|
|
#6 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,947
|
Re: js ile select menü(ler) kontrolü.
bu da 3 basamaklısı
ASP ile kategorileri düzgün çekersen bir problem olmayacaktır.Kod:
<script language="JavaScript"> var selectIl, selectIlce; var subCategory = new Array(); subCategory[0] = new Array(); subCategory[0][0]=new Array(); subCategory[0][0][0]=new Array("","{ İl Seç }"); subCategory[1] = new Array(); subCategory[1][0]=new Array(); subCategory[1][0][0]=new Array("06","Ankara"); subCategory[1][1] = new Array(); subCategory[1][1][0]=new Array("0601","Eryaman"); subCategory[1][1][1]=new Array("060101","Eryaman M 1"); subCategory[1][1][2]=new Array("060102","Eryaman M 2"); subCategory[1][1][3]=new Array("060103","Eryaman M 3"); subCategory[1][1][4]=new Array("060104","Eryaman M 4"); subCategory[1][1][5]=new Array("060105","Eryaman M 5"); subCategory[1][2] = new Array(); subCategory[1][2][0]=new Array("0602","Ulus"); subCategory[1][2][1]=new Array("060201","Ulus M 1"); subCategory[1][2][2]=new Array("060202","Ulus M 2"); subCategory[1][2][3]=new Array("060203","Ulus M 3"); subCategory[1][3] = new Array(); subCategory[1][3][0]=new Array("0603","Kızılay"); subCategory[1][3][1]=new Array("060301","Kızılay M 1"); subCategory[1][3][2]=new Array("060302","Kızılay M 2"); subCategory[1][3][3]=new Array("060303","Kızılay M 3"); subCategory[1][3][4]=new Array("060304","Kızılay M4"); subCategory[1][4] = new Array(); subCategory[1][4][0]=new Array("0604","Demetevler"); subCategory[1][4][1]=new Array("060401","Demetevler M 1"); subCategory[1][4][2]=new Array("060402","Demetevler M 2"); subCategory[1][4][3]=new Array("060403","Demetevler M 3"); subCategory[1][4][4]=new Array("060404","Demetevler M 4"); subCategory[1][4][5]=new Array("060405","Demetevler M 5"); subCategory[1][4][6]=new Array("060406","Demetevler M 6"); subCategory[2] = new Array(); subCategory[2][0]=new Array(); subCategory[2][0][0]=new Array("34","İstanbul"); subCategory[2][1] = new Array(); subCategory[2][1][0]=new Array("3401","Kadıköy"); subCategory[2][1][1]=new Array("340101","Kadıköy M 1"); subCategory[2][1][2]=new Array("340102","Kadıköy M 2"); subCategory[2][1][3]=new Array("340103","Kadıköy M 3"); subCategory[2][1][4]=new Array("340104","Kadıköy M 4"); subCategory[2][1][5]=new Array("340105","Kadıköy M 5"); subCategory[2][2] = new Array(); subCategory[2][2][0]=new Array("3402","Şişli"); subCategory[2][2][1]=new Array("340201","Şişli M 1"); subCategory[2][2][2]=new Array("340202","Şişli M 2"); subCategory[2][2][3]=new Array("340203","Şişli M 3"); subCategory[2][3] = new Array(); subCategory[2][3][0]=new Array("3403","Maltepe"); subCategory[2][3][1]=new Array("340301","Maltepe M 1"); subCategory[2][3][2]=new Array("340302","Maltepe M 2"); subCategory[2][3][3]=new Array("340303","Maltepe M 3"); subCategory[2][3][4]=new Array("340304","Maltepe M4"); function listSelectBox(x,w) { switch (x) { case 0 : var str = '<select name="combo0" id="combo0" onChange="listSelectBox(1,this);"><option></option></select>'; document.all.selectList.innerHTML += str; for (i=0; i < subCategory.length;i++){ document.f.combo0.options[i] = new Option("", i); document.f.combo0.options[i].value = subCategory[i][0][0][0]; document.f.combo0.options[i].text = subCategory[i][0][0][1]; } break; case 1: var findTAGS = document.all.tags("select"); var isCombo1 = true; var isCombo2 = false; selectIl = w.selectedIndex; for (i=0; i<findTAGS.length; i++) { if (findTAGS[i].id == "combo1") isCombo1 = false; if (findTAGS[i].id == "combo2") isCombo2 = true; } var str = '<select name="combo1" id="combo1" onChange="listSelectBox(2,this);"></select>'; if (isCombo1) document.all.selectList.innerHTML += str; else document.f.combo1.length = 0; if (isCombo2){ document.f.combo2.className = 'gizle'; document.f.combo2.length = 0; } document.f.combo1.options[0] = new Option("{ İlçe Seç }", 0); for (i=1; i < subCategory[selectIl].length; i++){ document.f.combo1.options[i] = new Option("", i); document.f.combo1.options[i].value = subCategory[selectIl][i][0][0]; document.f.combo1.options[i].text = subCategory[selectIl][i][0][1]; } break; case 2: var findTAGS = document.all.tags("select"); var durum = true; selectIlce = w.selectedIndex; for (i=0; i<findTAGS.length; i++) if (findTAGS[i].id == "combo2") durum = false; var str = '<select name="combo2" id="combo2" onChange="alert(this.options[this.selectedIndex].value);"></select>'; if (durum) document.all.selectList.innerHTML += str; else{ document.f.combo2.length = 0; document.f.combo2.className = 'goster'; } document.f.combo2.options[0] = new Option("{ Mahalle Seç }", 0); for (i=1; i < subCategory[selectIl][selectIlce].length; i++){ document.f.combo2.options[i] = new Option("", i); document.f.combo2.options[i].value = subCategory[selectIl][selectIlce][i][0]; document.f.combo2.options[i].text = subCategory[selectIl][selectIlce][i][1]; } break; } } //--> </script> <style> .gizle {display:none;} .goster {display:inline;} </style> <body> <form name="f" id="f"> <div id="selectList"></div> </form> <script>listSelectBox(0,null);</script> </body>
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
|
|
#8 (permalink) |
|
Üyelik Tarihi: 26.09.2000
Yer: istanbul
Mesaj: 251
|
Re: js ile select menü(ler) kontrolü.
absconder senin yazdığın scripti 12 basamaklı hale getirmem gerekiyor, ama bunun için nerelerde düzeltme yapmam gerkektiğini anlayamıyorum dediğim gibi js bilgim çok az.
Kod:
<script language="JavaScript"> var selectIl, selectIlce; var subCategory = new Array(); subCategory[0] = new Array(); subCategory[0][0]=new Array(); subCategory[0][0][0]=new Array("","{ Þema Seçiniz.. }"); subCategory[1] = new Array(); subCategory[1][0]=new Array(); subCategory[1][0][0]=new Array("01","Þizofreni Ve Diðer Psikotik Bozukluklar"); subCategory[1][1] = new Array(); subCategory[1][1][0]=new Array("0101","Şizofreni"); subCategory[1][1][1]=new Array("010101","Paranoid Tip"); subCategory[1][1][2]=new Array("010102","Dezorganize Tip"); //BURAYI ARTTIRMAK İSTİYORUM BURASI 4. BASAMAK OLUYOR 12 BASAMAĞA KADAR ÇIKARMAM LAZIM. subCategory[1][1][2][0]=new Array("01010201","Diğer yada belirlenmemiş örüntü"); //
__________________
khssi.. |
|
|
|
| Sponsorlu Bağlantılar | |
|
Zoque.Forum
Reklam
|
|
Zoque'a hoşgeldiniz!