2017-09-08 1 views
1

J'ai créé une table dans WordPress appelée «maladies» et je veux y accéder avec une saisie semi-automatique à partir d'un plugin. jQuery UI Autocomplete 1.11.4 est déjà inclus. Il n'y a pas d'erreur mais la saisie semi-automatique ne fonctionne pas. J'ai accès à la base de données et la réponse dans la console est égale au terme recherché.jQuery UI autocomplétion pour WordPress table

TABLEAU

code  text 
B15.0  Epidemischer Ikterus mit Coma hepaticum 
...  .... 

HTML

<input type="text" name="mybox" id="mybox" /> 

JS

jQuery(function() { 
    jQuery('#mybox').autocomplete({ 

     // add the way to the file with database query 

     source : '../wp-content/plugins/termbrowser/controllers/tags.php', 
     minLength : 3, 

     // what happens when user chooses autocomlete suggestion 

     onSelect : function(suggestion) { 
      alert('You selected: ' + suggestion.value + ', ' + suggestion.data); 
     } 
    }); 
}); 

PHP

require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-config.php'); 
require_once($_SERVER['DOCUMENT_ROOT'] . $folder . '/wp-load.php'); 

$query = isset($_GET['term']) ? $_GET['term'] : FALSE; 

    global $wpdb; 
    $table = $wpdb->prefix . 'diseases'; 

    $depts = $wpdb->get_results("select text from $table where text like '" . $query . "%' order by length(text)" ); 

    foreach($depts as $row) { 
     $data['value'] = $row->text; 
     $data['data'] = $row->code; 
    } 
    $response = array(
     'suggestions' => $data 
    ); 

    echo json_encode ($response); 
+0

pouvez-vous vérifier l'URL de votre source, il est un JSON? –

+0

Oui, il s'agit d'une requête Array – mm1975

+0

$ semble être toujours faux – mm1975

Répondre

1

Essayez d'utiliser 'term' au lieu de 'query'here vous pouvez voir l'exemple du plug-in. Notez que vous devez retourner un tableau JSON avec idlabelvalue:

"id"=>$value, "label"=>$key, "value" => strip_tags($key) 

pas à l'intérieur 'suggestions'

+0

Merci David, vous avez absolument raison! Mais la saisie semi-automatique ne fonctionne toujours pas. Je n'ai pas de suggestions. – mm1975

+0

Lors de l'inspection de l'exemple, j'ai mis à jour ma réponse. –