Tôi không hiểu lắm vấn đề của bạn lúc đó? Về cơ bản, bạn đang hỏi làm thế nào để thực hiện chính xác những gì bạn đang làm bây giờ cho các Khu vực một lần nữa cho các Thành phố?
Giống như tạo một 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
}
Tôi xin lỗi, nhưng câu hỏi của bạn không thực sự có ý nghĩa ...
Cập nhật:
À, tôi nghĩ tôi hiểu vấn đề của bạn. Bạn không hiểu cách cho phép lựa chọn vùng đã tạo tải một phần thành phố.
Được rồi, bạn có thể làm như thế này:
-
như đã đề cập ở trên, trước tiên bạn cần tạo một ajax.php mới cho logic truy xuất các thành phố. Sẽ tốt hơn nếu xử lý tất cả từ một tệp, nhưng để giữ mọi thứ đơn giản, chúng ta sẽ chỉ thực hiện với tệp php thứ hai.
-
Bạn cũng sẽ cần mở rộng tệp html cơ sở của mình và thêm trình giữ chỗ cho các thành phố:
... Khu vực - Chọn Tiểu bang--
<label for="cat">Cities</label> <div id="citydiv"> <select name="city" id="city"> <option>--Select State--</option> <option></option> </div>
...
-
Bạn cũng sẽ cần thêm một hàm javascript để điền vào trình giữ chỗ mới này:
:
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);
}
:- Cuối cùng nhưng không kém phần quan trọng, bạn sẽ cần phải mở rộng mã ajax.php hiện có của mình, để gọi hàm javascript mới nếu một vùng được chọn:
...
?><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
...
Hy vọng điều này sẽ giúp một chút!