我需要一點幫助。我正在創建一個動態下拉列表,但我不知道如何在元素中顯示ajax結果。如何從Ajax Request獲取返回的值並將其分配給元素?
這裏是我的情況:
- 的用戶會選擇在下拉列表中的狀態。
- 選擇代碼將發送一個Ajax請求
- 後發送後,在選擇選項顯示的結果命名爲「城市」
所以有2個選擇框。一個是'國家',另一個是'城市'。 這裏是我的代碼:
這是我訪問控制器的jQuery
$('#state').on('change',function(){
var state_code = $('#state').val();
var city_url = '<?php echo site_url("locations/displayCity/' + state_code + '"); ?>';
$.ajax({
type: 'POST',
url: city_url,
data: '',
dataType: 'json',
success: function(){
//
}
});
});
這裏是我的模型
public function getCity($code){
$sql = "SELECT id,name FROM ref_cities WHERE province_code = '".$code."'";
$result = $this->db->query($sql);
return json_encode($result->result_array());
}
這裏的功能是控制器部分
public function displayCity($code){
$x = json_decode($this->locations_model->getCity($code));
return print_r($x);
}
下面的代碼在我選擇的城市代碼
<select id="state" name="state">
<option value="">---Select State---</option>
<?php
$decode_city = json_decode($city,true);
foreach($decode_city as $m){
echo "<option value='".$m['code']."' ".set_select('state',$m['code']).">".$m['name']."</option>";
}
?>
</select>
這是我應該在哪裏把AJAX結果
<select id="city" name="city">
<option value="">---Select City---</option>
<!-- INCLUDE LOOP TO DISPLAY cities -->
</select>
好的我會盡力感謝 – Jerielle
這是行不通的。 :( – Jerielle
在你的代碼,而不是someDiv –