मैं वास्तव में आपकी समस्या को समझ नहीं पा रहा हूं? आप मूल रूप से पूछ रहे हैं कि ठीक वैसा ही कैसे किया जाए जैसा अब आप क्षेत्रों के लिए फिर से शहरों के लिए कर रहे हैं?
जैसे कोई शहर बनानाAjax.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
}
मुझे खेद है, लेकिन आपका प्रश्न वास्तव में समझ में नहीं आता...
अपडेट करें:
आह, मुझे लगता है कि मैं आपकी समस्या को समझता हूं। आप समझ नहीं पा रहे हैं कि जनरेट किए गए क्षेत्रों के चयन को शहर के अनुभाग को कैसे लोड होने दिया जाए।
ठीक है, आप इसे इस तरह कर सकते हैं:
-
जैसा कि आगे उल्लेख किया गया है, आपको पहले शहरों को पुनः प्राप्त करने के तर्क के लिए एक नया AJAX.php बनाना होगा। एक फ़ाइल से सभी को संभालना अच्छा होगा, लेकिन चीजों को सरल रखने के लिए हम बस दूसरी php फ़ाइल के साथ जाएंगे।
-
आपको अपनी आधार html फ़ाइल को विस्तारित करने और शहरों के लिए प्लेसहोल्डर जोड़ने की भी आवश्यकता होगी:
...क्षेत्र--राज्य चुनें---
<label for="cat">Cities</label> <div id="citydiv"> <select name="city" id="city"> <option>--Select State--</option> <option></option> </div>
...
-
इस नए प्लेसहोल्डर को पॉप्युलेट करने के लिए आपको एक जावास्क्रिप्ट फ़ंक्शन भी जोड़ना होगा:
:
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);
}
:- अंतिम लेकिन कम से कम, यदि कोई क्षेत्र चुना गया है तो नए जावास्क्रिप्ट फ़ंक्शन को कॉल करने के लिए आपको अपने मौजूदा AJAX.php कोड का विस्तार करने की आवश्यकता होगी:
...
?><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
...
आशा है कि इससे थोड़ी मदद मिलेगी!