我有一個自動完成輸入,該網頁上的負載,當用戶輸入一個值,建議列表填充。但是,雖然用戶仍然擁有該輸入焦點,並且他們刪除了文本,但輸入了其他內容,則什麼都不會發生。 我的理論是,它的東西做的主要方法被調用,其中 - 在文檔加載。我試圖改變觀察輸入長度的功能,但仍然存在相同的問題。總之,這裏的代碼:JQuery的自動完成文本框的行爲發出
主要電話:
$(document)
.ready(function() {
$('#autocompleteCR')
.change(function() {
if ($('#autocompleteCR').val().length > 0) {
autoCompleteCheckRun();
}
});
});
函數體:
function autoCompleteCheckRun() {
$('#autocompleteCR')
.autocomplete({
minLength: 2,
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: './PayInvoicesWS.asmx/GetCheckRun',
data: "{'description':'" + document.getElementById('autocompleteCR').value + "'}",
dataType: "json",
success: function (data) {
var el = data.d;
response($.map(el,
function (el) {
return {
label: "CheckRunID:" + " " + el.CheckRunID + " " + el.Description,
value: el.CheckRunID
}
}));
calculateTotal();
doStep2();
},
error: function (result) {
alert("Error");
}
});
},
select: function (event, ui) {
$("#CheckRunDescription").val(ui.item.label);
$("#autocompleteCR").val(ui.item.value);
$("#vendor_payment_type").prop("disabled", false);
}
});
};
視圖
<div class="divTableCell">
<div class="ui-widget">
<label for="autocompleteCR" id="checkRunLabel" style="font-size: 0.8em !important;">Check Run Lookup:</label>
<input type="text" id="autocompleteCR" />
</div>
</div>
您是否在刪除輸入字段中的文本後檢查瀏覽器控制檯中是否存在javascript錯誤? –