0
我在這裏有一個關於ajax的問題。其實我是使用Ajax的初學者,這就是爲什麼我無法弄清楚我的問題。我有一個有4個選擇框的表單。初始或主選擇框是國家選擇器。其次是州的下一個是城市,最後是巴朗蓋。我的目標就是這樣。用戶選擇他的國家後,第二個狀態選擇框會根據用戶國家自動更改。選擇狀態後,它也會自動改變城市,最後是城市。它就像一個動態地址字段。我正在使用codeigniter。這就是我所做的。這是獲取狀態的過程。如何使用Ajax過程顯示來自控制器/模型的數據?
在我的PHP的形式我有這樣的:
<tr>
<td><label style="font-weight: normal">State/Province: </label></td>
<td >
<select class="form-control" name="c_state" id="c_state">
<option value="">--Select State--<option>
</select>
</td>
</tr>
<tr>
<td><label style="font-weight: normal">Country: </label></td>
<td >
<select class="form-control" name="c_country" id="c_country">
<option value="">--Select Country--</option>
<?php
foreach($countries as $country){
if($country['country'] == 'Philippines'){
echo "<option value='".$country['code']."'selected='selected'>".$country['country']."</option>";
}else{
echo "<option value='".$country['code']."'>".$country['country']."</option>";
}
}
?>
</select>
</td>
</tr>
....
$("#c_country").on('change',function(){
var c_country = $("#c_country").val();
var var_country_selection = '<?php echo site_url("alliance_controller/get_provinces/'+c_country+'"); ?>';
console.log(c_country);
$.ajax({
type: 'POST',
url: var_country_selection,
data: { id: $(this).val() },
dataType: 'json',
success: function(d){
alert(d['c_country']);
}
});
});
在我的控制器我有這樣的:
public function get_provinces($id){
$country = $this->alliance_model->hhj_provinces($id);
echo json_decode($country);
}
在我的模型我有這樣的:
public function hhj_provinces($id) {
$query = "SELECT * FROM ref_region_province WHERE country_code = '".$id."'";
$result = $this->db->query($query);
echo json_encode($result->result_array());
}
的輸出jquery中alert的成功是'undefined'。而且我還使用Chrome中的開發者工具,並且在網絡選項卡中查看了它,它顯示了我的ajax代碼的URL。但在我的預覽中,我有這樣的事情。
[]
No Properties
這就是所有人。我只想獲得所選國家的狀態。
你檢查如果查詢返回任何結果? – anurupr
不,它不顯示任何東西。 – Jerielle
所以如果查詢沒有返回任何結果,你會得到'[]'作爲你的輸出。 – anurupr