gpt4 book ai didi

validation - 验证 jquery 自动完成

转载 作者:行者123 更新时间:2023-12-04 10:30:53 25 4
gpt4 key购买 nike

我有一个带有远程数据源的文本框,用于自动完成(jquery)[不是插件,是 jquery ui demos 中显示的原始插件| ]
我如何确保用户只输入自动完成建议之一中的内容而没有输入他自己的内容?

最佳答案

问题缺乏细节,但我假设您的意思是在客户端验证,因为您明确提到了自动完成插件。这个答案将分为两部分。第一个是原始答案,假设有一个自动完成插件。第二个是根据问题的更新修改的。

1) 使用 http://docs.jquery.com/Plugins/Autocomplete

对此的最佳解决方案是“mustMatch”选项。这是 API documentation .

If set to true, the autocompleter will only allow results that are presented by the backend. Note that illegal values result in an empty input box.



您应该能够以这种方式使用它:
$("selector").autocomplete("url", {"mustMatch": true});

您还可以在“结果”事件中以某种方式验证用户输入。这是一个链接: http://docs.jquery.com/Plugins/Autocomplete/result .

2) 使用 http://jqueryui.com/demos/autocomplete

这里没有 mustMatch 选项。您可以扩展插件,或者您可以添加类似于我在其他自动完成插件中提到的内容。使用“ change”事件。
$( ".selector" ).autocomplete({
change: function(event, ui) { ... }
});

如果您使用数组作为数据源,这会更有效。由于您使用的是远程数据源,因此您需要使用 ui.item 执行另一个最终查询以验证用户值。然后您可以允许或拒绝默认行为。

在任何一种情况下,输入仍应在服务器端以某种方式进行验证。这超出了 jQuery 插件的范围。

关于validation - 验证 jquery 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4385014/

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