是否可以将 fuse.js 与 XML 文档而不是 JSON 一起使用?因为现在我只有一个包含数据的 XML 文档,并且希望我不应该为 JSON 制作一个新版本。
希望有人可以帮助我找出我可以/应该去的方向。
亲切的问候,尼尔斯
是否可以将 fuse.js 与 XML 文档而不是 JSON 一起使用?因为现在我只有一个包含数据的 XML 文档,并且希望我不应该为 JSON 制作一个新版本。
希望有人可以帮助我找出我可以/应该去的方向。
亲切的问候,尼尔斯
自己找到了解决方案。不是将 JSON 放在http://kiro.me/projects/fuse.html上的示例,而是使用 XML 调用的版本 :)
$(function() {
function start(books) {
var $inputSearch = $('#hero-search'),
$results = $('#results ul'),
$authorCheckbox = $('#value'),
$titleCheckbox = $('#typeId'),
$caseCheckbox = $('#case'),
searchAuthors = true,
searchTitles = false,
isCaseSensitive = false,
fuse;
function search() {
$results.empty();
$.each(r, function(i, val) {
$resultShops.append('<li class="result-item"><a href="' + this.url + '" target="_blank"><span><img src="' + this.statusId + '" /></span> ' + this.value + '</a></li>');
});
}
function createFuse() {
var keys = [];
if (searchAuthors) {
keys.push('value');
}
if (searchTitles) {
keys.push('typeId');
}
fuse = new Fuse(books, {
keys: keys,
caseSensitive: isCaseSensitive
});
}
$inputSearch.on('keyup', search);
createFuse();
}
$.ajax({
type: 'GET',
dataType: 'xml',
url: 'xml-document/document.xml',
success: function(response) {
var suggestions = [];
$(response).find("searchResults").children().each(function(i, elm) {
var name = $(elm).find('name').text();
var url = $(elm).find('url').text();
var description = $(elm).find('description').text();
var statusId = $(elm).find('status').text();
var typeId = $(elm).find('type').text();
var result = {};
result.value = name;
result.url = url;
result.description = description;
result.statusId = statusId;
result.typeId = typeId;
suggestions.push(result);
});
start(suggestions);
},
error: function(response) {
console.log('failure',response);
}
});
});