Saya tidak benar-benar mengerti masalah Anda? Anda pada dasarnya bertanya bagaimana melakukan persis apa yang Anda lakukan sekarang untuk Regions lagi untuk Citys?
Seperti membuat cityAjax.php:
<?php require_once 'core/init.php';
$region_id = escape(Input::get('region'));
$select_city = DB::getInstance()->get('citys', array('regionId', '=', $region_id));
if(!$select_city->count()) {
echo 'No City found!';
} else {
?><select name="city" id="city"><?php
foreach($select_city->results() as $row) {
$city_id = escape($row->cityId);
$city_name = escape($row->cityName);
?><option value="<?php echo $city_id; ?>" ><?php echo $city_name; ?></option><?php
}
?></select><?php
}
Maaf, tapi pertanyaan Anda tidak masuk akal...
Pembaruan:
Ah, sepertinya aku mengerti masalahmu. Anda tidak mengerti bagaimana membiarkan pemilihan wilayah yang dihasilkan memuat bagian kota.
Oke, Anda bisa melakukannya seperti ini:
-
seperti yang disebutkan lebih lanjut, pertama-tama Anda harus membuat ajax.php baru untuk logika mengambil kota. Akan lebih baik untuk menangani semua dari satu file, tetapi untuk menjaga semuanya tetap sederhana, kita hanya akan menggunakan file php kedua.
-
Anda juga perlu memperluas file html dasar Anda dan menambahkan placeholder untuk kota:
...Wilayah--Pilih Negara--
<label for="cat">Cities</label> <div id="citydiv"> <select name="city" id="city"> <option>--Select State--</option> <option></option> </div>
...
-
Anda juga perlu menambahkan fungsi javascript untuk mengisi placeholder baru ini:
:
function showHint(str) {
...
xmlhttp.open("GET","ajax.php?country="+str,true);
xmlhttp.send(null);
...
}
function showCity(str) {
var xmlhttp;
if (str.length==0) {
document.getElementById("citydiv").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("citydiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","cityAjax.php?region="+str,true);
xmlhttp.send(null);
}
:- Last but not least, Anda perlu memperluas kode ajax.php yang ada, untuk memanggil fungsi javascript baru jika suatu wilayah dipilih:
...
?><select name="region" id="region" onChange="showCity(this.value);" required><?php
foreach($select_region->results() as $row) {
$region_id = escape($row->regionId);
$region_name = escape($row->regionName);
?><option value="<?php echo $region_id; ?>" ><?php echo $region_name; ?></option><?php
}
?></select><?php
...
Semoga ini bisa sedikit membantu!