2010-01-14 30 views
0

我在這個項目中使用codeigniter。我有一個搜索表單和搜索表單結果。使用jquery/php/ajax檢索mysql的結果

現在,當我點擊搜索表單中的搜索時,我被重定向到搜索表單結果,並且我得到了結果。

是否有可能在搜索表單中創建div或表格,然後調用搜索過程以及返回結果返回到頁面而不重新加載?

使用jquery/ajax/php?謝謝

回答

2

我假設你的搜索結果視圖中只包含一個用於搜索結果的HTML塊(如表或有些,而不是一個完整的HTML頁面與BODY)?如果不更新視圖,那麼它只包含結果的代碼。然後,你可以使用$.post method提交表單獲取視圖,然後將其注入到一個DIV(或您選擇的元素):

$(document).ready(function() { 
    $('#myformid').submit(function() { 
     var seralizedForm = $(this).serialize(); 
     var url = $(this).attr('action'); 
     $.post(url, serializedForm, function(results) { 
      $('#resultsDiv').html(results); 
     }, "html"); 
     return false; 
    }); 
}); 

這應該插入用最少的修改你的代碼。將「myformid」更改爲您在表單標籤上設置的ID,然後將「resultsDiv」更改爲您希望結果進入的空DIV的ID。

這是要綁定這個函數,當表單被提交時(通過按回車或點擊一個提交按鈕)被調用。它會序列化表單(這樣你就可以將輸入的值發送到你的控制器),並通過表單所具有的正常「action」屬性來獲取要提交的URL。

然後它會通過帖子將表單提交到該URL,結果將被加載到結果ID爲ID的DIV中。

0

是的,它實際上是可能的。

CodeIgniter,我會寫一個控制器函數&查看你想要顯示的內容。然後,對該頁面進行AJAX調用,該頁面將顯示在頁面上,並將其加載到當前頁面上。

如果您正在使用jQuery,你可以看看他們的Various AJAX Functions使Ajax調用並檢索數據

+0

我寫了控制器和視圖,我堅持與jquery/ajax – ant 2010-01-14 19:01:54

+0

我更新了我的答案與關於使用AJAX和jQuery的鏈接。這是完美的,你有兩個用戶名,順便說一句。 – GSto 2010-01-14 19:08:25

+0

當時我在我的同事電腦上搜索並刷新了網頁,但沒有意識到他已經登錄。爲什麼當你說「btw」時有2個用戶名是很整潔的。 – 2010-01-15 08:49:48