對不起,這個問題的所有人,因爲我知道級聯選擇框已經死了,但我似乎無法找到任何好的幫助。我嘗試了各種各樣的東西,但似乎都失敗了,我不明白爲什麼。級聯選擇
這裏是jQuery的我目前:
function tester() {
$("select#type").attr('disabled', 'disabled');
$("select#cat").change(function(){
var vid = $("select#cat option:selected").attr('value');
var request = $.ajax({
url: "show_type.php",
type: "POST",
data: {id : vid}
});
request.done(function(msg) {
$("#result").html(msg);
});
request.fail(function(jqXHR, textStatus) {
alert("Request failed: " + textStatus);
});
});
}
不介意與select#type
和select#cat
,因爲這些代碼的第一部分是什麼,我試圖讓代碼填寫在第一,然而.change
是我的.ajax
請求的觸發器。剩下的代碼我只是試圖在成功的ajax請求時將簡單的返回消息轉儲到空的div#result
。
我跑了一個測試,並且var vid
填充正確。
這裏是我試圖與ajax
調用簡單的PHP文件:
<?php
$requ;
if (isset($_POST['id'])) {
$requ = 'Worked';
} else {
$requ = "didn't work";
}
echo $requ;
?>
我想也許是在id
沒有被正確地傳遞的問題,所以我改變了PHP腳本來給我任何無論是否設置了$_POST
,都將輸出有效的輸出。
我不會發布HTML,因爲我只是試圖將這一切轉儲到div
而我測試它。當我運行腳本時,出現「請求失敗」錯誤消息,並顯示「錯誤」消息。
下面是其他的jQuery & PHP我也都試過了,使用.post
代替.ajax
:
function tester() {
$("select#type").attr('disabled', 'disabled');
$("select#cat").change(function(){
$("select#type").html("<option>wait...</option>");
var vid = $("select#cat option:selected").attr('value');
$.post("show_type.php", {id:vid}, function(data){
$("#result").empty().append(data);
}, "json");
});
}
而且PHP陪這個特殊的jQuery:
$requ = $_POST['id'];
$ret = 'You selected: ' . $requ;
echo json_encode($ret);
再次,全部失敗。我也嘗試了上面的代碼,而不使用json
編碼/參數。我想要做的只是一個簡單的(所以我會想)級聯選擇Dropboxes。第二個框依賴於第一個框選擇。我開始認爲這一切都可能不值得,只是嚴格遵守PHP的鏈接,重新提交頁面爲GET
,並用第一次點擊的結果填充新的部分或div。任何幫助或建議,你可能會不勝感激,我已經花了兩個堅實的日子,試圖全面瞭解這一點。在此先感謝
它給出了什麼錯誤並解釋失敗部分什麼不會發生? – 2012-03-28 04:23:06
我得到的所有錯誤消息都是「錯誤」。無論出於何種原因,jQuery沒有正確執行'.ajax'或'.post'請求。文件結構完好無損,show_type文件與js位於同一目錄中。沒有發生的事情是,我的currenlty如何設置測試,它不會用'id = result'來填充'div'並且我在PHP文件中有消息,相反我得到了ajax失敗的消息。 – 2012-03-28 04:29:36
我最初試圖填充第二個選擇框,其結果依賴於第一個選擇框,但是由於這個問題一直不成功,在我調試它的無盡的旅程中,我試圖保持結果儘可能簡單,以嘗試找出確切的問題,這就是我現在使用代碼的地方:試圖將ajax/post請求中的'data'轉儲到空格div – 2012-03-28 04:32:34