2013-11-22 83 views
0

我一直在研究這一段時間,併發布了幾個相關的主題,但這是一個稍微不同的問題。我有以下的AJAX代碼,下面有一些HTML表單,其中#container.myselect是下拉框的類。當我更改框中的值時,我希望能夠在select下面的其他字段上使用該值。 AJAX代碼的工作原理是,警報在更改時顯示正確的值,但正如您所看到的,我嘗試了很多success函數,但沒有運氣。最接近的是 $('#reloadtest').html(data);這將顯示我的PHP中的值,每次我從那時開始改變它的值會改變很多,但它重新加載容器中的頁面。從AJAX var到PHP變量獲取成功代碼的權利

基本上我想知道如何重新加載數據,但不是整個HTML /頁面,所以我可以使用下拉的值在我的PHP中。

$(document).ready(function(){ 
     $('#container').on('change', '.myselect', function() {        
      var orderidVal = $(this).val(); 
      alert(orderidVal); 
       $.ajax({ 
         type: "POST", 
         data: { orderidType : orderidVal }, 

         success: function(data) { 
          //$('#container').reload('#container', function() {}); 
          //$('#quoteselect').reload('#quoteselect', function() {}); 
          //$('#container').load('orders.php #container', function() {}); 
          //$('#quoteselect').load('orders.php #quoteselect', function() {}); 
          //$('#testreload').reload('#testreload', function() {}); 
          //location.href = "test2.php" 
          $('#reloadtest').html(data); //this allows me to use the variable but reloads the whole page within the page 
         } 
      }) 
     }); 
     }); 
+0

你究竟想要什麼?更具體的... – Kalpit

+0

你能更具體嗎?更多的..可以發佈相關的PHP代碼? –

+1

其中是您使用AJAX調用的URL? – user2720864

回答

0

如果你正在做一個Ajax請求你必須分配一個URL何處發送請求。

如果你沒有請求任何jQuery重新加載頁面。如您所見,​​URL是請求的第一個也是最重要的參數。

$.ajax({ 
    url: "/url/to/the/php/script.php", 
    success: function(data){ 
    //do something ... with data parameter 
    } 
}); 

將是與javascript使用ajax請求的簡單方法。

+0

我需要在同一頁上使用該值,那是不可能的呢? – snookian

+0

嗯,是的,我認爲它會工作(只是嘗試它)。但不建議混用PHP和HTML,除了模板。所以我建議把php放在一個額外的文件中。 – helle

+0

我已經將變量發送到了一個頁面,在該頁面中,我將會話設置爲該值,並在成功部分重新加載頁面,以便以此方式進行更新。必須弄清楚在哪裏清除會話,以避免錯誤,但謝謝你。 – snookian

0

使用兩個div - 在其中,你可以把Ajax響應,並在其他剩餘的HTML代碼

+0

你如何演講ajax響應? – snookian

0

,因爲你沒有指定請求的頁面重新加載頁面。 使用下面的代碼並替換/路徑/到/腳本到您的實際腳本路徑

$(document).ready(function(){ 
    $('#container').on('change', '.myselect', function() {        
     var orderidVal = $(this).val(); 
     alert(orderidVal); 
     $.ajax({ 
      cache: false, 
      async: true,  
      type: "POST", 
      url: '/path/to/script', 
      data: { 'orderidType' : orderidVal }, 
      success: function(data) { 
       $('#reloadtest').html(data); 
      } 
     }); 
    }); 
}); 
+0

謝謝,我需要將變量發送到頁面,然後我將其設置爲會話並刷新主頁面,似乎以這種方式工作。 – snookian

+0

沒問題。如果我的解決方案爲您工作,請將我的答案標記爲已接受 – private