javascript - HTML 输入自动填充占位符

标签 javascript jquery html inputbox

当用户写入文本框时显示用户建议的最佳方法是什么?我在 JS 数组中有所有可能的值。以数组 ["TYPO3", "Javascript"] 为例.现在如果用户输入这样一个字符串的起始字符,他应该得到这样的建议: typo3 suggestion

我很清楚 placeholder html5 标签,但这只有在文本框为空时才有效。我也知道 Datalist elementjQuery autocomplete但这些只允许特定值。我还希望我的文本框中没有预定义的内容。

我的想法是添加一个 <span>在光标之后标记,在输入 keyup 事件时更改其内容并将跨度移动到光标当前所在的位置。这也使我可以设置建议文本的样式。

但对我来说这似乎是一个糟糕的 hack,那么有没有更干净的解决方案呢?

最佳答案

我无法告诉您什么是最佳方法,但如果您相信 Google 的方法,那么他们的解决方案非常简单:

  • 有一个常规文本框 ( <input type='text' ...> ) 用于实际输入。
  • sibling <input>元素 disabled .

实际的文本框应该在禁用的文本框之上。 当用户开始输入并且您找到了自动完成的匹配项时,建议的文本应变为 value另一个disabled输入元素(建议文本应为银色)。

这是一个小例子:https://jsfiddle.net/e3L93o7g/

关于javascript - HTML 输入自动填充占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44615327/

相关文章:

javascript - 当选择器进入 iFrame 时如何使用 $(window).delegate ('selector' ,'resize' ,函数处理程序)?

javascript - Jquery 预选插件中的下拉菜单选项

javascript - 如何通过AJAX、PHP传递复选框值?

html - 想要仅使用 css 的浏览器特定链接

javascript - d3 堆叠条鼠标悬停在整个条上

php - 如何通过 $_GET 使用较少的变量

javascript - 添加 ng-repeat 导致错误 : $compile:ctreq

javascript - 在javascript中正确使用它吗?

javascript - 如何从网页中的嵌入式pdf中获取选定的文本?

html - 每行获取两个输入并修改提交宽度