【发布时间】:2016-10-14 04:42:28
【问题描述】:
我正在尝试创建一个搜索字段,该字段使用 ajax 调用自动完成来自数据库的建议。选择一个项目后,我希望它更新搜索字段。目前,当我在此文本框中输入内容时,它会返回一个空选择。任何帮助,将不胜感激。
这是代码,更新了推荐的更改,但是现在我得到的是空列表。
function autoCompleteCheckRun() {
$('#autocompleteCR')
.autocomplete({
minLength: 0,
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 rows = autocompleteJSONParseCode(data);
response(rows);
},
error: function (result) {
alert("Error");
},
select: function (event, ui) {
var checkRunData = $("#CheckRunDescription");
var checkRunID = $("#CheckRunID");
checkRunData.val(ui.item.label);
checkRunID.val(ui.item.value);
}
});
}
});
}
function autocompleteJSONParseCode(data) {
var rows = new Array();
var rowData = null;
for (var i = 0, dataLength = data.d.length; i < dataLength; i++) {
rowData = data.d[i];
// alert(rowData.term2+":"+rowData.term1);//uncomment to see data as it parses
rows[i] = {
value: rowData.CheckRunID,
label: rowData.Description
};
}
return rows;
}
div class="ui-widget">
<label for="autocompleteCR" id="checkRunLabel">Check Run Lookup:</label>
<input type="text" id="autocompleteCR" />
</div>
【问题讨论】:
-
从自动完成建议中选择项目时,您到底想实现什么?当您选择一个项目时,它会自动填充所选项目,这不是很明显吗?你能更好地解释你的问题吗?
-
我希望它填充另一个文本框,然后我将使用它的值作为另一个 ajax 调用的参数,该调用从特定数据库表中获取项目。
-
在我的回答中检查更新的小提琴。我进行了更改以在另一个框中填充值。
标签: javascript jquery ajax autocomplete