아약스 선택 상자로 도움을 받으십시오.아약스가있는 두 개의 선택 상자
지역
도시 내가 선택한 영역을 accourding 영역을 도시 선택 박스 변화에서 옵션을 선택
페이지를로드 할 때 (예 : 데이터 편집) 올바른 도시가 표시되지 않습니다 (이전에 선택한 DB 영역에 해당하는 목록의 첫 번째 도시에 선택 상자 포인터가 표시됨).).
무엇을 변경해야합니까?
감사
클라이언트 사이트 :
<p><label>Area</label>
<select name='areaID' id='areaID'>
<?PHP
$query = mysql_query("SELECT * FROM `areas` ORDER BY id ASC ");
while($index = mysql_fetch_array($query))
{
$db_area_id = $index['id'];
$db_area_name = $index['name'];
if ($db_area_id == $userDetails['areaID'])
echo "<option value='$db_area_id' selected>$db_area_name</option>";
else
echo "<option value='$db_area_id'>$db_area_name</option>";
}
?>
</select><span>*</span>
</p>
<p><label>City</label>
<select id='cityID' name='cityID'> </select>
</p>
<script>
$(function() {
function updateCitySelectBox() {
var areaID = $('#areaID').val();
$('#cityID').load('ajax/getCities.php?areaID=' + areaID);
return false;
}
updateCitySelectBox();
$('#areaID').change(updateCitySelectBox);
});
</script>
서버 측 :
$areaID = (int) $_GET['areaID'];
$second_option = "";
$query2 = mysql_query("SELECT * FROM `cities` WHERE area_id = $areaID ORDER BY id ASC");
while($index = mysql_fetch_array($query2))
{
$id = $index['id'];
$name = $index['name'];
$second_option .= "<option value='$id'>$name</option>";
}
echo $second_option;
모든 게 잘된 것 같습니다. Ajax 호출 위의'console.log (areaID)'에 의해 전달하려는 areaID의 값을 검사 해보십시오. –
@OptimusPrime에 동의합니다. –
@OptimusPrime - 페이지로드시 오른쪽 도시로 호출하는 부분이 누락되었습니다. – Roi