2
J'ai la fonction de saisie semi-automatique sur une zone de texte. Je veux afficher plus de données au format tabulaire avec une nouvelle colonne.Comment afficher la liste de saisie semi-automatique dans un format tabulaire avec plusieurs colonnes?
Mon code jusqu'à présent:
<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>
Dans ce code, je reçois mon résultat dans la liste de saisie semi-automatique, mais incapable de sélectionner un élément de la list.Where que je me trompe?
merci pour le reply.But pouvez-vous s'il vous plaît modifier mon code. @ Ajit Kumar – sona