jquery - 如何检测未选择 jquery 自动完成?
问题描述
我想知道是否有人可以帮助我解决我在 jQuery 中验证自动完成字段的问题。
场景如下,我单击一个框并开始输入,然后在值下拉列表之外输入(因此只有我输入的字母被选中)。然后我单击下一步,该字段验证正常(它检查计数是否超过 0(即至少添加了一个备件)并检查该字段是否不为空)。
尽管在我的示例中,我正在处理多个输入字段,但相同的原则也适用于选择单个框时。我正在使用 jQuery 1.11.2.min.js jquery.validate.js 和 jquery.autocomplete.js,在回答问题时可能没有用,但我也在使用引导程序:
$( 'body' ).on( 'click', '.sparedesc', function() {
$(this).autocomplete({
serviceUrl: 'func_action/autocomplete_spares_search.php',
selectFirst: true,
onSelect: function (suggestion) {
console.log(suggestion);
showSparesWarning(suggestion.value.length);
}
});
});
我在 autocomplete_spares_search.php 中的函数根据需要返回数据,并显示一个包含可能选择的下拉列表。但是,如果我在框外单击(即关闭它而不使用任何提供的选项),那么只有我输入的字母在输入框中(单击下拉列表中的选项会将输入的文本替换为所选选项。所以我我无法验证自动完成字段是否正确。有什么想法吗?
此外,我对如何验证多个输入有点困惑,因此任何指向最近良好的 tuts 的指针也将不胜感激。
谢谢
解决方案
我进一步研究了我的问题,并认为我有 2 种可能的方法,首先(由于另一个 ajax 调用,可能是最不希望的)是通过新函数检查所选字段是否存在于数据库中,或者我添加一个 data-selected ="1" 属性在成功更改时添加到输入并检查此计数是否与类元素计数匹配。
推荐阅读
- crystal-reports - 按日期分组会产生不正确的结果
- sql - SQL where 子句参数化
- flutter - 错误:ADB 以退出代码 1 退出 - 补救措施?
- laravel - Gate Define 不适用于除 role_id 为 1 的其他用户
- cucumber - 嗨,我正在研究 Cucumber,我正在尝试生成 pdf 报告,在我的 porm 中,我添加了依赖项,但仍然显示缺少 ralfstuckert 错误
- video.js - 如何将音量级别添加到 videojs 7.9.6
- java - 将文本文件扫描成 3 个字符的子字符串
- node.js - 使用 NodeJS 首次尝试 AWS Amplify 时出现 404 页面未找到
- javascript - 无休止地滚动不同网站的多个页面
- powerbi - PowerBI - 根据另一个数据集中的日期范围创建日期表