如何检测未选择jQuery自动完成功能?

时间:2019-03-11 16:20:24

标签: jquery jquery-ui-autocomplete

我想知道是否有人可以帮助我解决jQuery中的自动填充字段问题。

情况如下,我单击一个框并开始键入,然后在值的下拉列表外部键入(因此,只有我键入的字母才会被选中)。然后单击下一步,该字段会验证确定(它检查计数是否超过0(即已添加至少一个备件),并检查该字段是否不为空)。

尽管在我的示例中,我正在处理多个输入字段,但在选择单个框时,同样的原理也适用。我正在使用jQuery 1.11.2.min.js jquery.validate.js和jquery.autocomplete.js,可能在回答问题时没有用,但我也在使用bootstrap:

$( '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中的函数根据需要返回数据,并显示一个下拉列表以及可能的选择。但是,如果我在框外单击(即关闭它而不使用任何提供的选项),那么只有我键入的字母才在输入框中(单击下拉菜单中的一个选项会将键入的文本替换为所选的选项。所以我m无法验证自动完成字段是否正确。有什么想法吗?

此外,我在如何验证多个输入方面还有些困惑,因此任何指向近期良好实践的指针也将受到赞赏。

谢谢

1 个答案:

答案 0 :(得分:0)

我进一步研究了我的问题,认为我有2种可能的方法,首先(由于另一个ajax调用,这可能是最不希望的)将通过新函数检查所选字段是否存在于数据库中,或者我添加了一个成功更改输入的data-selected =“ 1”属性后,检查此计数是否与类元素计数匹配。