2010-11-10 48 views
2

我有一些關於jQuery和load()函數的問題。加載()在jQuery

我有一個表單發送查詢所需的3個參數。我想在不重新加載頁面的情況下將數據加載到指定的div,所以我嘗試使用jQuery中的load函數。這似乎確定,但有一些問題我需要問。

我做了一個div與ID「響應」,我將用來加載數據。我做了這樣的事情:

$(document).ready(function() { 
    $("#response").load(("search.php?param1=1&param2=2&param3=3$search=send")) 
}); 

它工作正常。但我試圖做一個函數

function search() { 
    $("#response").load(("search.php?param1=1&param2=2&param3=3$search=send")) 
} 

然後在dom樹準備就緒時使用它。該查詢返回了我想要的內容,但在新頁面上。那麼,在寫作期間,我嘗試使用return false這應該阻止頁面,並防止重新加載(我在這裏錯了嗎?)。

return false statment是搜索的功能和作用是用來

$(document).ready(function() { 
    search(); 
}) 

這是行不通的。但是當我在search()調用之後放置返回語句時,它的工作方式應該是這樣。有人能告訴我爲什麼嗎?

之後,我想知道是否有機會使用jQuery中的ajax函數做同樣的事情。

+0

我不明白你一旦搜索頁面做什麼負載。請澄清。 – hunter 2010-11-10 16:57:24

+0

顯示來自數據庫的一些記錄,總是多於一條記錄。 – Allek 2010-11-10 17:00:25

+0

爲什麼需要首次通過AJAX加載?你不能只在頁面加載時包含數據嗎? – 2010-11-10 17:01:41

回答

0

我不打算調試你的舊代碼,但我會給你一個明確的工作解決方案。

// jQuery function 
(function($) { 
    $.fn.return_search = function() { 
     $.get('search.php?param1=1&param2=2&param3=3$search=send', function(data) { 
      $(this).html(data); 
     }); 
    }; 
})(jQuery); 

// Call 
$('#response').return_search(); 

這將創建一個jQuery插件擴展,你可以調用它的元素,你希望它在返回。