【发布时间】:2013-12-10 23:15:02
【问题描述】:
我一直在从事一个涉及收集/处理搜索结果的小项目,我想你们也许可以伸出援手。我有一个小脚本,它从搜索输入中获取搜索值,通过 PHP 处理它,然后通过 JS 将结果收集并插入到花式框中。到目前为止,一切进展顺利,但我似乎无法解决下一个问题。
我无法与精美框中的任何元素进行交互,因为它会重新加载页面(例如,上一个和下一个按钮或搜索输入)。您将如何使用 AJAX 将新内容或表单输入加载到同一页面实例上的花式框中?
HTML:
<form action="search.php" method="post" name="search" id="search">
<input size="35" value="" placeholder="Search" name="search" id="result" autocomplete="off">
<button id="check" data-fancybox-type="ajax" href="search/search.php" id="check">Search</button>
脚本:
jQuery(document).ready(function(submit) {
$('#check').on("click", function (e) {
e.preventDefault();
$.ajax({
type: "POST",
cache: false,
url: "search.php",
data: $("#result").serializeArray(),
success: function (data) {
// on success, post returned data in fancybox
$.fancybox(data, {
// fancybox API options
fitToView: true,
openEffect: 'fade',
closeEffect: 'fade'
});
}
});
});
});
以上脚本主要基于this post
感谢您的想法!
【问题讨论】:
-
$.ajax().data结果中的 HTML 是什么样的? -
AJAX在处理完字段值后收集search.php的结果。它看起来有点像标准的 Google 搜索结果。
标签: javascript php jquery ajax fancybox