【发布时间】:2021-05-09 17:06:31
【问题描述】:
关于如何自动完成某些输入和相关表单小部件的文章有很多。目标是使用数据库中的数据(通过 json api)自动完成用户输入,但仅将数据库中的 id 发送回服务器。有两种使用情况:
- 简单的 id-name(或 id-value)对
- 加上一些“相关”信息(例如 - 一个虚拟示例,不要判断 - 选择城市时还要选择国家)
自古以来,jquery 自动完成功能就一直在使用,它一直在工作,但由于 jquery 已成为太多人的“害群之马”,因此我正在寻找其他可能的解决方案。
现有解决方案:
- jquery-autocomplete + input.text (value) + input.hidden (id):它可以工作,可以通过一些 css 使引导程序友好,您可以通过不给那些 input.text 命名来禁用文本发送到服务器(s) 所以只有需要的数据被传递到服务器,“相关”数据可以通过输入/选择 ids 来设置;一切正常
- jquery-autocomplete + input.text (value) 带有一些 data-id 属性;和上面一样,不需要添加那些隐藏的输入,但你必须“创建”发布请求(来自 javascript);发送 json 并使用带有一些 javascript 的 FormData 可以让您的生活更轻松(至少对于不那么复杂的表单);另外,您可以(如果幸运的话)仅按名称访问表单输入(如果同一页面上有多个动态生成的表单,以避免 id 冲突)
- bootstrap-select2 是一个不错的候选者,不幸的是我不喜欢将输入放到下拉列表中的想法;另外,我不确定您是否可以使用“相关”信息来填充其他字段
您明白了,我正在寻找类似“动态获取数据的可编辑/可搜索选择”之类的东西。除了上面列出的那些解决方案,这些天还有其他东西吗?
【问题讨论】:
标签: html json forms autocomplete