0
我有一個DDL(#engine),需要通過具有基於選定了#make DDL一個MySQL表中設置其選項值設置選擇選項。jQuery的Ajax調用從一個MySQL表
我有以下腳本傳遞到PHP文件 - 我知道PHP文件是罰款,我可以輸出查詢的結果independantly。
但是,我不能得到選項值更新基於返回數組上...也許使用GET的結果?這是我第一次嘗試通過AJAX(通常只是用它來更新數據表等)
有什麼不對勁,我腳本返回?
$(document).ready(function() {
$("select#make").change(function(){
$('#engine').find('option').remove().end(); //clear the engine ddl
var make = $(this).find("option:selected").val(); //Need the value not the text
$.ajax({
url:'get-engine.php',
type:'GET',
data:{engine:make},
dataType:'json',
cache:false,
success:function(data){
var ddl = document.getElementById('engine');
for(var c=0;c<obj.length;c++)
{
var option = document.createElement('option');
option.value = obj[c];
option.text = obj[c];
ddl.appendChild(option);
}
},
error:function(jxhr){
alert(jxhr.responseText);
}
});
});
});
的GET-engine.php ..
$make = $_GET['engine'];
$query= ("SELECT * FROM tb_engine where make_id='$make'");
$result = mysql_query($query);
$temp = array();
while ($row = mysql_fetch_assoc($result)) {
if(empty($temp))
{
$temp=array($row['engine_type']);
}
else
{
array_push($temp,$row['engine_type']);
}
}
echo (json_encode($temp));
?>
它至今拒絕更新,不能完全找到,爲什麼?提前對所有建議
你明白了'json'響應回來?你有沒有檢查過螢火蟲控制檯... – Rafay
嗨,是的,確實如此 - 我可以看到firebug中的響應數組...發回數組,如預期,它似乎只是我的腳本不創建基於返回數組的選項值? – Marc
你可以發表你的JSON響應 – Rafay