Jquery 自动完成与 knockoutjs

标签 jquery knockout.js jquery-autocomplete

我正在使用jquery自动完成和knockoutjs。它可以很好地处理键盘和鼠标单击事件。但我的问题是,当我输入任何不存在的名称时,它会在我的页面中显示该名称(存储在可观察变量中)。

这是我的 JavaScript 代码:

 //For autocomplete extender generating members
$(function () {
    $('.tags').autocomplete({

        //make ajax call to get all mentored member of logged member
        source: function (request, response) {
            $.ajax({
                url: "Members.aspx/GetAllMembers",
                data: "{ 'prefixText': '" + request.term + "' }",
                dataType: "json",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    response(data.d);
                    self.memberOptions(data.d);
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert('error occured while autocomplete');
                }
            });
        },
        minlength: 0,
        select: function (event, ui) {
            //get selected member name
            self.selectedMember(ui.item.actualValue ? ui.item.actualValue : ui.item.value ? ui.item.value : "");
            self.LoadAddress(self.choosenDateId(), self.selectedMember());
        }
    });
});

我的需要是,当我输入无效名称时,页面应显示登录用户的地址(存在于 session 中)。即 self.selectedMember(userName)。

最佳答案

我在选择事件后添加了以下 block 并且它有效:

change: function (event, ui) {
            if (!ui.item) {
                //if invalid name selected, load goals of logged user
                self.selectedMember(userName)
                self.LoadAddress(self.choosenDateId(), self.selectedMember());
            }
        },

关于Jquery 自动完成与 knockoutjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13506967/

相关文章:

javascript - JQuery中如何改变按钮文本

jquery - 使用 jquery undefined variable ;可能的格式冲突

javascript - knockout.js:在 observableArray 上没有连接

javascript - knockout.js 复选框与 observableArrays 的双向绑定(bind)

javascript - knockout 映射 - 来自 JS - 一个简单的例子失败

jquery-autocomplete - jQuery 自动完成最大限制

javascript - 如何将元素位置传递给 jquery UI 对话框

javascript - 如何根据数字的值更改数字的颜色。 (开放使用任何标签)

jquery - 当选项卡单击第一个输入屏幕滚动到顶部时如何修复。仅在 Chrome 中

javascript - 扩展jquery自动完成:select part of string from inside text input