ノックアウトjsでjqueryオートコンプリートを使用しています。キーボードとマウスクリックのイベントで正常に動作します。しかし、私の問題は、存在しない名前を入力すると、その名前がページに表示されることです(abservable変数に保存されます)。
ここに私の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());
}
});
});
私の必要性は、無効な名前を入力すると、ページにloggeduser(セッションに存在)のアドレスが表示されることです。つまり、self.selectedMember(userName) です。