我主要是PHP編程,但由於我根本不知道Javascript或Ajax,所以陷入了Ajax問題。我現在有一個組合選擇菜單,如果第一個選擇是='train',我想隱藏第三個選擇菜單(方向)。我讀過一些瀏覽器不支持隱藏功能,因此,下一個最佳選擇是在假設第一個選項是列車時選擇第二個選項時禁用第三個選擇菜單。如果是公共汽車,那麼第三個選擇菜單應該仍然顯示。這裏是我的JavaScript現在,我敢肯定你可以想象它不工作。如何添加if語句到Ajax
$(document).ready(function(){
if ($("select#agency").attr('value') == 'cta-train') {
$("select#direction").attr("disabled","disabled");
}
$("select#route").attr("disabled","disabled");
$("select#agency").change(function(){
$("select#route").attr("disabled","disabled");
$("select#route").html("<option>wait...</option>");
var id = $("select#agency option:selected").attr('value');
$.post("select_route.php", {id:id}, function(data){
$("select#route").removeAttr("disabled");
$("select#route").html(data);
});
});
});
$(document).ready(function(){
if ($("select#agency").attr('value') == 'cta-train') {
$("select#direction").attr("disabled","disabled");
}
else {
$("select#direction").attr("disabled","disabled");
$("select#route").change(function(){
$("select#direction").attr("disabled","disabled");
$("select#direction").html("<option>wait...</option>");
var id = $("select#route option:selected").attr('value');
$.post("select_direction.php", {id:id}, function(data){
$("select#direction").removeAttr("disabled");
$("select#direction").html(data);
});
});
}
});
任何幫助將不勝感激!
所以,你想盡快使AJAX POST作爲文檔準備或應該所有這些活動確實是基於一些DOM事件觸發(選擇更改,按鈕點擊等)?另外jQuery''hide()在瀏覽器中也很好。我知道唯一的'hide()'問題是一箇舊的Safari bug,試圖對尚未附加到DOM的元素執行hide()。不知道這是否仍然是一個問題。 –
謝謝邁克。自從我在數小時後纔開始工作以後,我不想過多地修改代碼。正如我所提到的,我不熟練使用任何類型的javascript/ajax語言,所以我只想添加一些簡單的幾行代碼,它們會根據第一個選擇的選項隱藏第三個選擇。如果您對如何做到這一點有任何想法,我會很感激。 – user1701252