在用户搜索了不在列表中的内容后,如何显示 NO RESULT FOUND。我正在使用 list.js 但我不知道如何实现它?

有没有一种方法可以在我的代码中的某处添加一个 JavaScript 代码,该代码可以监控表列表何时为空,并在我使用 list.js 或更好的替代方法进行搜索时显示未找到的结果?

我需要一种方法来告诉我的用户他们正在搜索的内容不存在。

var monkeyList = new List('users', {
  valueNames: ['name', 'born'],
  page: 3,
  plugins: [ ListPagination({}) ]
});
<div id="users">
  <input class="search" placeholder="Search" />
  <button class="sort" data-sort="name">
    Sort by name
  </button>

  <ul class="list">
    <li>
      <h3 class="name">Jonny Stromberg</h3>
      <p class="born">1986</p>
    </li>
    <li>
      <h3 class="name">Jonas Arnklint</h3>
      <p class="born">1985</p>
    </li>
    <li>
      <h3 class="name">Martina Elm</h3>
      <p class="born">1986</p>
    </li>
    <li>
      <h3 class="name">Gustaf Lindqvist</h3>
      <p class="born">1983</p>
    </li>
  </ul>
<ul class="pagination"></ul>
</div>


<script src="http://listjs.com/no-cdn/list.js"></script>
<script src="http://listjs.com/no-cdn/list.pagination.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

最佳答案

将此添加到 HTML:

<div class="not-found" style="display:none">Not Found</div>

当没有找到匹配的列表元素时将显示它。

附加此事件监听器以监听搜索框中的更改:
$('.search').on('keyup', function(event) { // Fired on 'keyup' event

  if($('.list').children().length === 0) { // Checking if list is empty

    $('.not-found').css('display', 'block'); // Display the Not Found message

  } else {

    $('.not-found').css('display', 'none'); // Hide the Not Found message

  }
});

关于javascript - 当没有找到结果时,如何使用 javascript 和 list.js 在搜索中显示 'no result found',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35680967/

10-12 00:05
查看更多