我需要twitter的预先输入帮助。我也愿意使用任何其他适用于淘汰赛的自动完成功能。例如,这些看起来不错,只是不确定他们是否可以做我需要的事情(https://github.com/rniemeyer/knockout-jqAutocomplete和https://www.npmjs.com/package/knockout.autocomplete)
背景资料
我有来自后端的JSON数据,这用于在输入字段中自动完成。让我们说它看起来如下:
[{
Name:”John Smith”
Id:23
},
{
Name:”Jane Doe”
Id:298
},
…
]
我在名称字段上执行自动填充,并在输入字段失去焦点时(或当用户使用提交按钮时)将选择的名称和ID发送回服务器(或输入文本)
所以这是我的情景。我有3个自动完成案例:
用户从建议中选择一个名称,然后将该选择的名称和ID发送回服务器
输入字段中的用户类型,自动完成功能中没有选项;因此,用户键入一个新名称,该名称不在自动完成知道的选项中。在这种情况下,当输入字段失去焦点时,它会向后端发送新名称和id为-1,并使autocomplete / typeahead从后端拉出新数据(bc,它需要知道新创建的id是什么) name是为了可以在其上完成未来的自动填充请求)
自动填充建议中显示的名称中的用户类型,但用户不会从选项中选择名称,而是继续键入名称。这相当于选择名称,除了它不会触发'selected'事件,因此我不知道该名称的id ...除非我查看所有名称并检查它们是否匹配...但不知道如何获取twitter的typeahead用于自动完成的选项数组,因此我需要向服务器发出另一个请求,这样就无法工作了。
问题
我已经能够用twitter的typeahead和没有淘汰赛来做#1和#2的情况。
我将如何实施案例#3?我曾经在后端检查从前端发送的名称不在数据库中,所以这是一个名称比较 - 事情是我需要索引名称列。我更愿意通过id进行检查,但我愿意接受建议。我也愿意将设计从autocomplete / typeahead更改为处理我的3个案例。