0

是否可以将 fuse.js 与 XML 文档而不是 JSON 一起使用?因为现在我只有一个包含数据的 XML 文档,并且希望我不应该为 JSON 制作一个新版本。

希望有人可以帮助我找出我可以/应该去的方向。

亲切的问候,尼尔斯

4

1 回答 1

0

自己找到了解决方案。不是将 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);
}
});
});
于 2013-10-28T19:35:40.710 回答