单击而不是输入或键入时过滤列表
Filter list on click instead of on input or keyup
我找到了一个 javascript 允许用户搜索我的树菜单。但是,我需要它只在单击按钮时起作用,而不是在用户键入时起作用。我知道如何创建按钮并将 OnCLick 添加到它,但我无法弄清楚如何仅在单击按钮时将我的工作脚本更改为 运行。
这是工作脚本(我必须给 li 标签一个 class 这样脚本就不会尝试搜索页面上的其他列表):
<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();
}
});
});
我找到了一个 javascript 允许用户搜索我的树菜单。但是,我需要它只在单击按钮时起作用,而不是在用户键入时起作用。我知道如何创建按钮并将 OnCLick 添加到它,但我无法弄清楚如何仅在单击按钮时将我的工作脚本更改为 运行。
这是工作脚本(我必须给 li 标签一个 class 这样脚本就不会尝试搜索页面上的其他列表):
<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();
}
});
});