ive a créé un JSfiddle ici http://jsfiddle.net/8nzty/ code ici: –
$(document).ready(function () { $(".items").click(function () { $(this).val(''); }); var items = [{ "ID": 1, "Name": "HP DL360p", "PartNo": " 670638-425", "Description": "" }, { "ID": 2, "Name": "Samsung 840 Pro 256GB", "PartNo": "", "Description": "256GB SSD" }, { "ID": 3, "Name": "HP MSA P2000", "PartNo": "AW568A", "Description": "" }, { "ID": 4, "Name": "HP BL460c G6", "PartNo": null, "Description": "HP G6 Blade" }] $("#Name").autocomplete({ minLength: 0, source: items, focus: function (event, ui) { $("#Name").val(ui.item.Name); return false; }, select: function (event, ui) { $("#Name").val(ui.item.Name); $("#PartNo").val(ui.item.PartNo); $("#Description").val(ui.item.Description); return false; } }); }) 4 results are available, use up and down arrow keys to navigate.
Ce qui est censé se passer: je tape h et je vois une liste d’items commençant par h Je clique sur une option n ° de pièce et la description est automatiquement renseignée
que se passe-t-il: je tape h, rien ne se passe je frappe en arrière un menu déroulant apparaît avec aucun texte visible (peut-être son blanc?) au passage de la souris je vois du texte apparaître dans la zone de nom, cliquez sur l’un et son remplissage automatique comme prévu.
Voir le violon
Vous l’avez presque. Le problème est que vous ne fournissez pas un moyen d’afficher les options à l’écran. Vous utilisez un tableau d’objects JSON. Le widget doit donc savoir quelles données et comment les afficher.
$("#Name").autocomplete({ //existing widget settings }) .data( "ui-autocomplete" )._renderItem = function( ul, item ) { return $( "" ) .append( "" + item.Name + "
" + item.Description + "" ) .appendTo( ul ); };
à la fin du widget autocomplete
résout le problème.