在我的一个网站上,我有一个带有搜索框的课程列表,如果列表对象与用户输入的内容无关,则会删除/删除列表对象。问题是课程名称是否与顺序,我的脚本返回0结果。
示例:其中一个列表项目称为“移动式回转式起重机高达60吨”,但如果有人在移动式起重机中输入,则不匹配。
有人可以建议一种方法吗?下面是JS及其运行的HTML列表的副本。任何帮助将非常感激。
干杯, 蒂莫西
<input type="text" id="CourseS" name="CourseS" value="" placeholder="Find a course" class="form-control">
<ul class="list_courses col-md-12">
<li class="list_courses_list">
<h5>Crane Training</h5>
<ul class="qualifications-links">
<li>Mobile Slewing crane A</li>
<li>Mobile Slewing crane B</li>
</ul>
</li>
<li class="list_courses_list">
<h5>Short Courses</h5>
<ul class="qualifications-links">
<li>Short Course A</li>
<li>Short Course B</li>
</ul>
</li>
</ul>
jQuery(function() {
jQuery("#CourseS").on("keyup", function() {
jQuery("p.NoResultsFound").remove();
var a = jQuery(this).val().toLowerCase();
jQuery(".list_courses li").each(function() {
var d = jQuery(this);
if (d.text().toLowerCase().indexOf(a) < 0) {
d.hide()
} else {
d.show()
}
});
var c = jQuery(".list_courses li:visible").length.toString();
var b = "<p class='NoResultsFound'>No courses found</p>";
if (c == 0) {
jQuery("ul.list_courses").prepend(b)
} else {
jQuery("p.NoResultsFound").remove()
}
})
});