我正在尝试为我的网站创建一个“快速简单”的面包屑路径。由于我的网站只有 3 个级别,因此最终的输出只能是:
首页 > 搜索产品(多种产品类型) > 产品详情
我试图编写自定义面包屑。
实际上,我正在做的是捕获页面标题,并将其与 HREF 一起显示到页面 URL。这在从 Home 执行搜索时非常有用:
主页 > 搜索椅
但是,在执行搜索后,我单击了一个我希望查看更多详细信息的项目(我的页面执行了一个帖子),一旦进入详细信息页面,我的面包屑就会显示:
首页 > 椅子详情
我所希望的是:
主页 > 搜索椅子 > 椅子详情
有没有办法可以做到这一点?
当前代码:
function createBreadcrumb() {
alert($(document).find("title").text());
var $pageTitle = $(document).find("title").text();
var $pageURL = $(location).attr('href');
$('.breadcrumb').html(('<a href="/">Home </a> > ') + ('<a href="' + $pageURL + '">' + $pageTitle + '</a> '));
}
****根据Harry的建议更新:*
$(function() {
/* create page breadcrumb on initial page load */
createBreadcrumb();
});
function createBreadcrumb(oldPagePass) {
if (oldPagePass !== null && oldPagePass !== undefined) {
var $pageTitle = $(document).find("title").text();
var $pageURL = $(location).attr('href');
$('.breadcrumb').html(oldAgePass + ('<a href="' + $pageURL + '">' + $pageTitle + '</a> '));
}
else {
alert($(document).find("title").text());
var $pageTitle = $(document).find("title").text();
var $pageURL = $(location).attr('href');
$('.breadcrumb').html(('<a href="/">Home </a> > ') + ('<a href="' + $pageURL + '">' + $pageTitle + '</a> '));
}
}
.ajaxSuccess(function() {
var $pageTitle = $(document).find("title").text();
var $pageURL = $(location).attr('href');
var $oldPage = $('.breadcrumb').html(('<a href="/">Home </a> > ') + ('<a href="' + $pageURL + '">' + $pageTitle + '</a> '));
createBreadcrumb($oldPage);
});
代码更新:
jQuery 函数
.on('click', '.searchResult', function() {
var row = $(this);
$('#resultForm > *').filter(':input').each(function(index, el) {
var name = $(el).attr('name').slice(8).toLowerCase();
var data = row.data(name);
if (data !== 'undefined')
$(el).val(data);
});
$('#resultForm').submit();
})
搜索页面表单标签:
<form:form method="post" id="resultForm"> </form:form>