【发布时间】:2013-09-24 16:56:46
【问题描述】:
我正在尝试读取 html 文本框的内容并从 API 获取数据以完成 google 样式的自动完成。我使用twitter bootstrap typeahead 来实现自动完成功能。为此,我需要在按键被按下时记录它们并使用查询文本进行 API 调用。
文本框的html是这样的
<input id="query" data-bind="value: query, valueUpdate: 'keypress', event: { keypress: check }"/>
我的假设是,一旦按下键,这将更新视图模型中的值,同时check 函数将调用 API。但是调用 check() 并且当用户键入时文本框永远不会被填充。如果 JS 看起来像这样 -
function check() {
alert("Hello");
}
对于我按下的每个键,都会弹出 hello,但 HTML UI 中的文本框不显示按下的键/不记录按下的键。如何记录按键并同时发送请求?
【问题讨论】:
-
使用
keyup而不是keypress -
它也适用于
keypress,只需从您的处理程序返回true:function check() { alert("Hello"); return true; } -
@divyanshm 欢迎 乐于助人 :)
-
@divyanshm 我认为 tushar 有帮助,你应该现在发布答案并标记为答案。
-
这是旧线程,只是为了更新曾经访问过此的人,只需使用
<input data-bind="textInput : variableName"Kevin M 的回答应该可以接受。
标签: javascript jquery html twitter-bootstrap knockout.js