【发布时间】:2014-12-03 07:15:40
【问题描述】:
我在使用带有自定义自动完成/下拉功能的 textInput 绑定时遇到问题。我正在使用 textInput 绑定,所以我确实看到视图模型得到了更新,但是更新发生在按键事件之后,这也是我的自动完成绑定的事件。这是我的自动完成功能:
$("#table-body").on("keypress", ".combo", function (e) {
var item = ko.dataFor(e.target),
drop = $(".dropdown-menu", this);
if (item.Name() !== undefined && item.Name().length === 0) {
$(".input-group-btn", this).removeClass("open");
} else if (item.Name() !== undefined && item.Name() !== null && item.Name() !== "") {
drop.children().not(":containsNoCase(" + item.Name() + ")").hide();
drop.children().filter(":containsNoCase(" + item.Name() + ")").show();
$(".input-group-btn", this).addClass("open");
}
});
在上述事件中,当输入第一个字符时,item.Name() 为 null 或空格,然后总是在输入的字符后面 1 个字符。关于如何在 textInput 更新视图模型后更改事件捕获的任何想法?
【问题讨论】:
标签: javascript jquery knockout.js