javascript - 单击而不是输入或键入时过滤列表
问题描述
我找到了一个允许用户搜索我的树形菜单的 javascript。但是,我需要它仅在单击按钮时起作用,而不是在用户键入时起作用。我知道如何创建按钮并将 OnCLick 添加到其中,但我无法弄清楚如何更改我的工作脚本以仅在单击按钮时运行。
这是工作脚本(我必须给 li 标签一个类,这样脚本就不会尝试搜索页面上的其他列表):
<script type="text/javascript">
$(document).ready(function () {
$("#search").on("input", function () {
if (this.value.length > 0) {
$("li.menusearch").hide().filter(function () {
return $(this).text().toLowerCase().indexOf($("#search").val().toLowerCase()) != -1;
}).show();
}
else {
$("li.menusearch").show();
}
});
});
这是输入
<input type="search" id="search" name="search"/>
解决方案
要调整您的脚本以在单击按钮时工作,请按如下方式调整它(与#button
您的按钮的 id 相对应):
$(document).ready(function () {
$("#button").on("click", function () {
if ($("#search").val().length > 0) {
$("li.menusearch").hide().filter(function () {
return $(this).text().toLowerCase().indexOf($("#search").val().toLowerCase()) != -1;
}).show();
}
else {
$("li.menusearch").show();
}
});
});
推荐阅读
- git - 我如何处理 Git lfs 问题
- c# - InsertAndGetIdAsync - 无法为标识列插入显式值
- c# - 如何在 .net 核心中运行使用依赖注入的非静态代码
- jenkins - terraform fmt 在 Jenkins 管道中失败
- swift - 为什么 NSImage.Name 存在?
- autosar - AUTOSAR:检测模型中的二维数组
- c# - 如何在不使用静态注册表的情况下配置 BsonSerializer?
- ios - 不推荐使用的应用程序:openURL 方法 - iOS
- javascript - 将 Javascript 变量中的 URL 读入 HTML
- javafx - JavaFx- 根据输入动态克隆选项卡