仅使用typeahead.js强制有效输入

格贝格罗

我有一些带有twitters typeahead.js(不是旧的bootstrap typeahead)的文本框,用于自动完成来自自定义REST服务的业务数据。如何强制文本框具有有效选择或根本没有文本?我想在提交之前验证表单,但无法访问从服务器获取的预先输入的数据集。

我尝试加入关闭事件,但似乎无法访问数据集进行验证。目前,我仅看到2种可能的解决方案:

  1. 钩住选定的和自动完成的事件,并将最后一个有效值存储在其他隐藏的文本框中,并根据这些值验证texbox。

  2. 或者使用其他的REST调用来验证针对服务器的输入(我试图防止这种情况)

有人有更好的解决方案吗?

马丁·库拉(Martin Currah)

我在寻找类似内容的同时找到了这篇文章。我正在尝试根据提供的预先输入的自动完成数据来确保用户具有有效的选择。这是我的代码。它适用于浏览器验证。

var engine = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    limit: 10,
    prefetch: {
        url: '/data/professions.json',
        filter: function(list) {
            return $.map(list, function(professions) { return { name: professions }; });
        }
    }
});

// kicks off the loading/processing of `local` and `prefetch`
engine.initialize();

$('#professionsTypeahead').typeahead(null, {
    name: 'professions',
    displayKey: 'name',
    source: engine.ttAdapter()
}).blur(function(){
    match = false
    for (var i = engine.index.datums.length - 1; i >= 0; i--) {
        if($(this).val() == engine.index.datums[i].name){
            match = true;
        }
    }; 
    if(!match){
        alert("Invalid Selection")
    }  
});

在.blur函数上,您可以对照数据集检查是否存在匹配项,如果不匹配,则可以根据自己的喜好进行处理。例如清除文字框等

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Java强制转换有效JSON的异常

来自分类Dev

使用JavaScript进行表单验证,仅其中一项输入有效

来自分类Dev

使用 ajax 更改输入时,仅第一行有效

来自分类Dev

使用 JavaScript 检查文本输入模式是否有效

来自分类Dev

在C ++中仅强制执行一个有效的数据副本

来自分类Dev

如何有效地强制VirtualBox对所有VM文件使用/ dev / shm?

来自分类Dev

仅当所有其他输入均有效时才验证ah:selectBooleanCheckbox

来自分类Dev

使用枚举在打字稿中强制使用有效的react道具

来自分类Dev

1-10 之间的正整数的因数。问题:仅当有效输入大于先前输入时才有效

来自分类Dev

使用goto语句强制for循环的至少一次迭代的有效性

来自分类Dev

使用rand()强制唯一性的有效方法是什么?

来自分类Dev

强制构造函数签名是使用抽象类而不是接口的有效理由吗?

来自分类Dev

使用stellar.js的Angular.js指令多次使用-仅第一个有效

来自分类Dev

仅使用按位运算的有效方法

来自分类Dev

仅使用按位运算的有效方法

来自分类Dev

MATLAB:使用数组输入运行矢量输入函数的有效方法

来自分类Dev

将输入限制为仅某些字符在Chrome上有效,但在Firefox上无效

来自分类Dev

仅当我更改系统语言输入时,语言识别才有效

来自分类Dev

仅显示对文件输入的有效操作,单击移动设备上的

来自分类Dev

仅当我更改系统语言输入时,语言识别才有效

来自分类Dev

如何使用AngularJS检查表中的所有输入是否为ng有效?

来自分类Dev

jQuery函数仅每秒有效

来自分类Dev

仅默认参数有效

来自分类Dev

使用sys或fileinput库从python中的标准输入中读取是否更有效?

来自分类Dev

使用Cloud Dataflow的“侧面输入”在本地有效,但在云中执行时无效

来自分类Dev

使用伪元素在有效输入字段上显示✓标记

来自分类Dev

如何有效使用CompletableFuture映射每个输入的异步任务

来自分类Dev

使用隐藏输入是检索外部JavaScript文件中php变量的有效方法吗?

来自分类Dev

如何使用户重新输入一个值,直到它有效为止

Related 相关文章

  1. 1

    使用Java强制转换有效JSON的异常

  2. 2

    使用JavaScript进行表单验证,仅其中一项输入有效

  3. 3

    使用 ajax 更改输入时,仅第一行有效

  4. 4

    使用 JavaScript 检查文本输入模式是否有效

  5. 5

    在C ++中仅强制执行一个有效的数据副本

  6. 6

    如何有效地强制VirtualBox对所有VM文件使用/ dev / shm?

  7. 7

    仅当所有其他输入均有效时才验证ah:selectBooleanCheckbox

  8. 8

    使用枚举在打字稿中强制使用有效的react道具

  9. 9

    1-10 之间的正整数的因数。问题:仅当有效输入大于先前输入时才有效

  10. 10

    使用goto语句强制for循环的至少一次迭代的有效性

  11. 11

    使用rand()强制唯一性的有效方法是什么?

  12. 12

    强制构造函数签名是使用抽象类而不是接口的有效理由吗?

  13. 13

    使用stellar.js的Angular.js指令多次使用-仅第一个有效

  14. 14

    仅使用按位运算的有效方法

  15. 15

    仅使用按位运算的有效方法

  16. 16

    MATLAB:使用数组输入运行矢量输入函数的有效方法

  17. 17

    将输入限制为仅某些字符在Chrome上有效,但在Firefox上无效

  18. 18

    仅当我更改系统语言输入时,语言识别才有效

  19. 19

    仅显示对文件输入的有效操作,单击移动设备上的

  20. 20

    仅当我更改系统语言输入时,语言识别才有效

  21. 21

    如何使用AngularJS检查表中的所有输入是否为ng有效?

  22. 22

    jQuery函数仅每秒有效

  23. 23

    仅默认参数有效

  24. 24

    使用sys或fileinput库从python中的标准输入中读取是否更有效?

  25. 25

    使用Cloud Dataflow的“侧面输入”在本地有效,但在云中执行时无效

  26. 26

    使用伪元素在有效输入字段上显示✓标记

  27. 27

    如何有效使用CompletableFuture映射每个输入的异步任务

  28. 28

    使用隐藏输入是检索外部JavaScript文件中php变量的有效方法吗?

  29. 29

    如何使用户重新输入一个值,直到它有效为止

热门标签

归档