私はあなたの問題を本当に理解していませんか?あなたは基本的に、あなたが今していることを、都市のために再び地域のために正確に行う方法を求めていますか?
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
}
申し訳ありませんが、あなたの質問は本当に意味がありません...
更新:
ああ、私はあなたの問題を理解していると思います。生成された地域の選択で都市セクションをロードする方法がわかりません。
わかりました、あなたはこのようにそれをすることができます:
-
さらに上で述べたように、最初に都市を取得するロジック用の新しいajax.phpを作成する必要があります。 1つのファイルからすべてを処理する方がよいでしょうが、物事を単純にするために、2番目のphpファイルを使用します。
-
また、ベースhtmlファイルを拡張し、都市のプレースホルダーを追加する必要があります:
...地域-州の選択-
<label for="cat">Cities</label> <div id="citydiv"> <select name="city" id="city"> <option>--Select State--</option> <option></option> </div>
...
-
この新しいプレースホルダーにデータを入力するには、javascript関数も追加する必要があります:
:
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);
}
:-最後になりましたが、リージョンが選択されている場合に新しいjavascript関数を呼び出すには、既存の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
...
これが少しお役に立てば幸いです!