gpt4 book ai didi

javascript - ASP.NET JQuery 从文本框值过滤列表框(区分大小写的问题)

转载 作者:行者123 更新时间:2023-11-30 18:32:47 25 4
gpt4 key购买 nike

我有一个文本框和一个列表框,我的最终目的是用文本框来过滤列表框。下面的代码有效,但是文本框区分大小写,我需要用户能够输入任何大小写,并且它现在相应地过滤列表框。

例子

"MY SITE" = Works
"my site" = Works
"My Site" = Does not work
"mY sITE" = Does not work

我的 JQuery 代码是

var ddlText, ddlValue, ddl, lblMesg;

$(document).ready(function CacheItems() {
ddlText = new Array(); ddlValue = new Array();
ddl = document.getElementById("<%=lstSites.ClientID %>");
for (var i = 0;
i < ddl.options.length; i++) {
ddlText[ddlText.length] = ddl.options[i].text;
ddlValue[ddlValue.length] = ddl.options[i].value;
}
});
window.onload = CacheItems;
function FilterItems(value) {
ddl.options.length = 0; for (var i = 0; i < ddlText.length; i++) {
if (ddlText[i].toLowerCase().indexOf(value) != -1) {
AddItem(ddlText[i], ddlValue[i]);
}
else if (ddlText[i].toUpperCase().indexOf(value) != -1) {
AddItem(ddlText[i], ddlValue[i]);
}
}
}
function AddItem(text, value) {
var opt = document.createElement("option");
opt.text = text;
opt.value = value;
ddl.options.add(opt);
}

在此先感谢您的帮助

最佳答案

为此,您可以使用新表达式扩展 jQuery。

jQuery.extend(
jQuery.expr[':'], {
ContainsInsensitive : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0"
});

参见 contains()Is there a case insensitive jQuery :contains selector?

...或者简单地将两个值转换为大写/小写;

if (ddlText[i].toLowerCase().indexOf(value.toLowerCase()) != -1) {
AddItem(ddlText[i], ddlValue[i]);
}

关于javascript - ASP.NET JQuery 从文本框值过滤列表框(区分大小写的问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9127342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com