JQuery:如何从不区分大小写的下拉列表中选择一个值?
我的场景:
- 我有一个用户输入文本的文本框
- 文本框有一个 onblur 函数,它尝试根据文本框输入从下拉列表(如果存在)中选择一个值
如果文本框值与以下情况相同,则效果非常好下拉列表值。 但我希望它不区分大小写。
因此,如果用户输入“stackoverflow”,那么我希望它从下拉列表“StackOverflow”中进行选择。 我怎样才能通过 jQuery 做到这一点?
My scenario:
- I have a textbox that the user enters text
- The textbox has an onblur function that tries to select a value from a dropdownlist (if it exists) based on the textbox input
This works perfectly fine if the textbox value is the same case as the dropdownlist value. But I want it to be case insensitive.
So if the user types "stackoverflow" then I want it to select from the dropdownlist "StackOverflow". How can I do this via jQuery?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我认为最好的方法是从事前而不是事后看。 如果将它们全部设为小写,那么它们都是标准化的并且更易于使用。 然后你所要做的就是让用户的输入全部小写,并且匹配东西真的很容易。
另一种选择是使用过滤器函数,例如在此处找到的函数:
但是值和属性需要替换。
I think that the best way to do this is look at it from the before rather than the after. If you make them all lowercase, they are all standardized and easier to work with. Then all you have to do is make the user's input all lowercase, and it is really easy to match stuff.
Another option is to use a filter function, like the one found here:
Value and attribute need to be replaced though.
在模糊时,迭代您的选项并检查它是否匹配。 然后选择匹配的一项。
在代码中:
我还没有测试它,所以一定要检查语法错误。
On blur, iterate over your options and check if it matches. Then select the one that matches.
In code:
I didn't test it yet, so be sure to check for syntax errors.
正则表达式 (RegExp) 函数可能是最佳选择。
图案:文字图案
属性:“i”表示不区分大小写,
可以与过滤功能结合使用。 像这样的东西应该有效。
The regular expression (RegExp) function is probably the way to go.
pattern: the text pattern
attributes: "i" for case-insensitive
You can combine with filter function. something like this should work.
这是另一种方法:在实际情况“StackOverflow”中找到匹配值,并用它调用
val()
。当然,文字
'stackoverflow'
应该替换为变量。Here's another approach: find the matching value in its actual case, "StackOverflow," and call
val()
with that.Of course, the literal
'stackoverflow'
should be replaced with a variable.