2
我在文本框上有自動完成功能。我想以新列的表格格式顯示更多數據。如何以帶有多列的表格格式顯示自動完成列表?
我的代碼至今:
<script type="text/javascript">
function CNo(sender, args) {
$(function() {
$("#<%=txtCNo.ClientID %>").autocomplete({
source: function (request, response) {
$.ajax({
url: '<%=ResolveUrl("~/Webservice.asmx/GettxtCNo") %>',
data: "{ 'prefix': '" + request.term + "'}",
dataType: "json",
type: "POST",
async: false,
mustMatch: true,
contentType: "application/json; charset=utf-8",
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.split('^')[0],
val: item.split('^')[1]
}
}))
},
error: function (response) {
},
failure: function (response) {
}
});
$.ui.autocomplete.prototype._renderMenu = function (ul, items) {
var self = this;
ul.append("<table><thead><tr><th>Name</th><th>City</th></tr></thead><tbody></tbody></table>");
$.each(items, function (index, item) {
self._renderItem(ul.find("table tbody"), item);
});
};
$.ui.autocomplete.prototype._renderItem = function (table, item) {
return $("<tr></tr>")
.data("item.autocomplete", item)
.append("<td>" + item.value + "</td>" + "<td>" + item.val.split('~')[6] + "</td>")
.appendTo(table);
};
},
select: function (e, i) {
$("#<%=hdnCNo.ClientID %>").val(i.item.val);
if (i.item.val == "No Records Found") {
$("#<%=hdnCNo.ClientID %>").val(-1);
document.getElementById('<%=txtCNo.ClientID%>').value = "";
return false;
}
checktxtCNorinfo();
},
minLength: 0
}).bind('focus', function() { $(this).autocomplete("search"); });
});
}
</script>
在這段代碼中,我得到我的結果在自動完成列表中,但無法選擇從list.Where任何項目我錯了?
感謝reply.But可以請你修改我的代碼。@阿吉特·庫馬爾 – sona