Jquery Autocomplete 2 Fields

J’ai la page suivante:

    .ui-menu-item { font-size:50%; }     $(function () { $("#a").autocomplete({ source: "query.php", minLength: 2 }); });    
A
B

Le query.php qui renvoie JSON data

 include("connect.inc.php"); $query = mysql_query("SELECT a, b FROM table WHERE a LIKE '%".mysql_real_escape_ssortingng($_GET['term'])."%' ORDER BY a ASC LIMIT 0,10") or die(mysql_error()); $data = array(); while($row = mysql_fetch_assoc($query)) { $data[] = $row['a']; } include("close.inc.php"); echo json_encode($data); 

La firebase database contient 2 lignes, évidemment a et b.

La question est: comment puis-je modifier le script en cours afin de compléter automatiquement a et b où a correspond à b dans la firebase database mysql

J’ai essayé de comprendre, mais je ne pouvais pas en comprendre le sens (pendant environ une semaine).

Merci d’avance.

Je pense que vous voudriez que votre code JSON soit de la forme [{"a":"asd1","b":"b1"},{"a":"asd2","b":"b1"}...] alors vous pouvez le traiter en utilisant une fonction d’parsing comme ceci:

 function myAutocompleteJSONParse(data) { var rows = new Array(); var rowData = null; for (var i = 0, dataLength = data.length; i < dataLength; i++) { rowData = data[i]; rows[i] = { value: rowData.A, label: rowData.A, A: rowData.A, B: rowData.B }; } return rows; }; 

Vous pouvez alors appeler cela de la façon suivante:

 ... success: function(data) { if (!data || data.length == 0) { var rows = new Array(); rows[0] = { A: 'Not Found', B: '' }; response(rows); } else { var rows = myAutocompleteJSONParse(data); response(rows); } } ... 

puis dans l'auto-complétion manipulez-le dans le select:

 ... select: function(event, ui) { var hasValue = (ui.item.value != undefined && ui.item.value != "" && ui.item.value != null); if (hasValue) { var focusedElement = $(this); focusedElement.val(ui.item.label); $("#b").val(ui.item.B); return false; } else { return false; } }, ... 

Hypothèses ici: utilisation de la saisie semi-automatique de l'interface utilisateur jQuery, utilisation de la version actuelle de jQuery 1.6.4