Merhabalar. Php'de il ilçe uygulaması yapmaya çalışıyorum. Insert işleminde bir problem yok ama update işleminde sorun yaşıyorum. Update sayfasına geldiğimde, veritabanındaki il ve ilçe kısmını seçebiliyorum. Yalnız, ilçe kısmında sadece, veritabanındaki ilçe görünüyor. Diğer ilçeler görünmüyor. Bir örnek ile anlatayım.
Mesela, veritabanındaki veriler
il: İstanbul
ilçe: Kadıköy
diyelim. Update sayfasında bu il ve ilçe seçili geliyor. Eğer ben il kısmını diyelim ki "Ankara" yaptım ve tekrar "İstanbul" yaptım. İlçe kısmı o zaman geliyor. Hâlbuki il kısmı "İstanbul", ilçe kısmı "Kadıköy" seçili iken ilçe option'ına tıkladığımda diğer ilçelerin de görünmesi lazım. Ama sadece, veritabanındaki veri gözüküyor. Kodlar aşağıda.
<select name="il" id="il" onChange="set_child_listbox('il', 'ilce',ilceler,1,0);" required="required" >
<option value="">Kategori Seç</option>
<Option Value="İstanbul"
<?php
if($vericek['yenieklenenler_il'] === "İstanbul") {
echo 'selected="selected"';
}
?>
>İstanbul
</Option>
<Option Value="Ankara">Ankara</Option>
</select>
<select name="ilce" id="ilce" required="required" class="validate[required]">
<option value=""></option>
</select>
function findObj(n, d) { //v4.01
var p,i,x;
if(!d) d = document;
if((p = n.indexOf("?"))>0&&parent.frames.length) {
d = parent.frames[n.substring(p+1)].document;
n = n.substring(0,p);
}
if(!(x = d[n])&&d.all) x = d.all[n];
for (i = 0; !x&&i<d.forms.length;i++) x = d.forms[i][n];
for (i = 0; !x&&d.layers&&i<d.layers.length;i++) x = MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x = d.getElementById(n);
return x;
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
var ilceler = new Array(new Array('İstanbul','Eminönü'),
new Array('İstanbul','Bakırköy'),
new Array('İstanbul','Kadıköy'),
new Array('İstanbul','Maltepe'),
new Array('İstanbul','Karaköy'));
var semtler = new Array();
function set_child_listbox(sSource,sTarget,childArray,sifirla,tip) {
//önce temizlik ;)
var parentObject = findObj(sSource);
var childObject = findObj(sTarget);
var base=0;
if(sifirla==1)
{
base=-1;
}else
{
base=0;
}
for(var i=childObject.length;i>base;i--) {
childObject.options[i] = null;
}
//childObject.options[0] = new Option("Seçiniz","");
//var selIndex = parentObject.options[parentObject.selectedIndex].value;
var selIndex = parentObject.value;
if (selIndex == "") {
//childObject.disabled = true;
} else {
childObject.disabled = false;
var childIndex = base+1;
for (i = 0; i < childArray.length; i++) {
if (childArray[i][0+tip] == selIndex) {
childObject.options[childIndex+1] = new Option(childArray[i][1+tip], childArray[i][1+tip]);
childIndex++;
}
}
}
childObject.selectedIndex = 0;
if(document.getElementById('nvar_alan_1').value == 'Türkiye' || document.getElementById('nvar_alan_1').value == ''){childObject.focus();}else{document.getElementById('ilce').style.display='none';document.getElementById('nvar_alan_4').style.display='block';document.getElementById('nvar_alan_5').style.display='block';}
}