2012-10-19 28 views
0

我有一個名爲Category的下拉列表,這些選項由查詢MySQL表中的類別名稱的PHP腳本填充。如果選擇<option>,請再次運行查詢

在它的旁邊,我有一個名爲子類別下拉列表中,選擇也通過在一個MySQL表子類別名稱的查詢PHP腳本填充。

我想重新運行的子類別查詢修改子類別下拉菜單中的值,根據其類別已經從類別下拉菜單中選擇上。

而且我不想讓頁面刷新,所以我想jQuery的可能有一些用在這裏?

+0

你的意思是這樣的:http://remysharp.com/wp-content/uploads/2007/01/select.html –

回答

1

像這樣的事情?

$(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.. 
      }     
     });    
    }); 
});​ 
+0

似乎是正確的,我可以讓jquery/ajax發送選定的值,但是,我如何將查詢結果返回到下拉菜單中?我猜成功:函數(返回)應該改變子類別的下拉列表,但我應該返回$ subcat1,$ subcat2等,或者將子類別格式化爲外部php中的html字符串,將其轉換爲單個變量,然後返回那? – user1621945

+0

爲了讓您的PHP數組準備好使用JSON_encode,然後只需遍歷它並將其附加到您選擇的項目。 – intelis

0
  1. 是你有你正確的使用jQuery $就()或$。員額()函數明確。
  2. 的子類別下拉應留意變化事件的父類。在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 
    
          } 
          }); 
    
        }); 
    
1

一般情況下,你不應該使用jQuery(或與此有關的任何其他框架),除非你」你已經在下載了一個頁面,當你的瀏覽器正在下載腳本和庫(其中,jQuery可能是最大的)時,你的頁面的其他部分不能執行,我不知道爲什麼,但它不下載圖片,加載iframe,也沒什麼。

,您可根據AJAX請求下載新CON帳篷。要小心,因爲這意味着你實際上正在編寫一個訪問數據庫的web服務,所以請確保在服務器和javascript中驗證輸入,併爲丟棄/刪除操作開發某種安全性。

這裏是一個用於Ajax的native javascript tutorial,但如果你對AJAX感興趣,你可以use it

的基本目標是:

  1. 寫了一個網頁,需要作爲參數的新參數查詢, 然後
  2. 與AJAX調用它,
  3. 使用返回的信息重新填充你的下拉菜單。

我懇求你一定要理解AJAX在本機代碼,你讓jQuery的做這一切爲你。即使您最終選擇使用jQuery框架,它也會在調試,升級和重用此代碼時爲您提供幫助。

+0

請不要鏈接到w3schools。 http://en.wikipedia.org/wiki/XMLHttpRequest –

+0

連接到W3學校絕對沒有錯。我承認我沒有完成整個教程,所以我不一定會擔保,但我發現他們的網站是新概念的一個非常有用的起點。它通常足夠接近正確的開始。 – FrankieTheKneeMan

相關問題