【问题标题】:How to detect that jquery autocomplete is not selected?如何检测未选择 jquery 自动完成?
【发布时间】:2019-08-02 00:33:48
【问题描述】:

我想知道是否有人可以帮助我解决我在 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 的指针也将不胜感激。

谢谢

【问题讨论】:

    标签: jquery jquery-ui-autocomplete


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 2018-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多