我有一個名爲Category的下拉列表,這些選項由查詢MySQL表中的類別名稱的PHP腳本填充。如果選擇<option>,請再次運行查詢
在它的旁邊,我有一個名爲子類別下拉列表中,選擇也通過在一個MySQL表子類別名稱的查詢PHP腳本填充。
我想重新運行的子類別查詢修改子類別下拉菜單中的值,根據其類別已經從類別下拉菜單中選擇上。
而且我不想讓頁面刷新,所以我想jQuery的可能有一些用在這裏?
我有一個名爲Category的下拉列表,這些選項由查詢MySQL表中的類別名稱的PHP腳本填充。如果選擇<option>,請再次運行查詢
在它的旁邊,我有一個名爲子類別下拉列表中,選擇也通過在一個MySQL表子類別名稱的查詢PHP腳本填充。
我想重新運行的子類別查詢修改子類別下拉菜單中的值,根據其類別已經從類別下拉菜單中選擇上。
而且我不想讓頁面刷新,所以我想jQuery的可能有一些用在這裏?
像這樣的事情?
$(document).ready(function(){
var select = $("#select-element");
select.change(function(){
$.ajax({
type : 'POST',
url: "url-of-your-php-script",
data: {
'data-name' : 'data-to-send'
}
success : function(returned){
// Append variable results to select..
}
});
});
});
似乎是正確的,我可以讓jquery/ajax發送選定的值,但是,我如何將查詢結果返回到下拉菜單中?我猜成功:函數(返回)應該改變子類別的下拉列表,但我應該返回$ subcat1,$ subcat2等,或者將子類別格式化爲外部php中的html字符串,將其轉換爲單個變量,然後返回那? – user1621945
爲了讓您的PHP數組準備好使用JSON_encode,然後只需遍歷它並將其附加到您選擇的項目。 – intelis
的子類別下拉應留意變化事件的父類。在JQuery中,你可以使用它。
$( '#父')。改變(函數(){
var parent = $(this).val();
// Remove current subcategory options
$('#child').children().remove();
// AJAX POST
$.ajax({
type:'POST',
data: 'parent='+parent,
url: 'process.php',
success: function(data){
// Fill the subcategory with new options using jquery each method
}
});
});
一般情況下,你不應該使用jQuery(或與此有關的任何其他框架),除非你」你已經在下載了一個頁面,當你的瀏覽器正在下載腳本和庫(其中,jQuery可能是最大的)時,你的頁面的其他部分不能執行,我不知道爲什麼,但它不下載圖片,加載iframe,也沒什麼。
,您可根據AJAX請求下載新CON帳篷。要小心,因爲這意味着你實際上正在編寫一個訪問數據庫的web服務,所以請確保在服務器和javascript中驗證輸入,併爲丟棄/刪除操作開發某種安全性。
這裏是一個用於Ajax的native javascript tutorial,但如果你對AJAX感興趣,你可以use it。
的基本目標是:
我懇求你一定要理解AJAX在本機代碼,你讓jQuery的做這一切爲你。即使您最終選擇使用jQuery框架,它也會在調試,升級和重用此代碼時爲您提供幫助。
請不要鏈接到w3schools。 http://en.wikipedia.org/wiki/XMLHttpRequest –
連接到W3學校絕對沒有錯。我承認我沒有完成整個教程,所以我不一定會擔保,但我發現他們的網站是新概念的一個非常有用的起點。它通常足夠接近正確的開始。 – FrankieTheKneeMan
你的意思是這樣的:http://remysharp.com/wp-content/uploads/2007/01/select.html –