我有一个包含搜索栏,构面和结果列表的页面。我试图弄清楚,如果用户输入搜索或选择一个方面(向下钻取列表,如类别),刷新结果列表和方面。
我已经弄乱了模板,比如John Resig的Micro-Templating(非常酷),但它不允许我调用辅助扩展,我需要这样做。使其工作的唯一方法是在发送回来之前按下服务器上的数据。但是这些数据来自solr,所以它非常快,在开始渲染之前我宁愿不做太多。
作为一个简单的例子,这里是(sudocode)布局:
<form>
<div id="query">
<%= Html.TextBox("q")%>
</div>
<div id="results"/>
<div id="facets"/>
</form>
我想,如果他们正在打字,开始每隔几个字符或第二个字符显示结果,所以只需将数据输入结果和facets divs ......这可能与MVC2一样吗?或者我只需要使用js模板填充div html?
答案 0 :(得分:2)
我最终只是将结果分成多个viewresults,并通过jquery异步调用它们,如下所示:
function run_search(url) {
var search_url = url.replace('?', '/facettree?');
$.get(search_url, function (html) {
$('#filter').html(html);
});
search_url = url.replace('?', '/booksearchresults?');
$.get(search_url, function (html) {
$('#results-list').html(html);
});
}
然后,点击的方面直接进入此方法,查询框上的计时器将查询添加到网址,并在暂停半秒后调用此方法。