Bonjour,

Je chercher à utiliser autocomplete dans un plugin que je realise sous wordpress mais pour l'instant je fais choux blanc ...

Voici le html :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
<input id='searchEnseigne'>
le js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var sitesecurity = jQuery('#site-callenseigne-nonce').val();
jQuery("#searchEnseigne").autocomplete ({
    maxLength: 5,
    source: function(request, response) {
        jQuery.ajax({
            url: ajaxurl,
            data: { action:"site_callenseigne", security: sitesecurity, value: 'test' },
            dataType: "jsonp",
            type: "POST",
            success: function(data){
                response( jQuery.map( data.myData, function( item ) {
                    return {
                        label: item.label,
                        value: item.label
                    }
                }));
            }
        });
    },
    open: function() {
        $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
    },
    close: function() {
        $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
    }
});
le php :

add_action('wp_ajax_site_callenseigne', 'site_callenseigne');

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
function site_callenseigne()
{
    check_ajax_referer( 'site-callenseigne-nonce', 'security' );
    header("Content-Type: application/json");
    $results = array();
    $arr = array ( "label"=> "test");
    $results["myData"][] = $arr;
    $arr = array ( "label"=> "test2");
    $results["myData"][] = $arr;
    echo json_encode($results);
}

La réponse en json est celle ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 {"myData":[{"label":"test"},{"label":"test2"}]}0
J'ai testé avec un exemple simple d'autocomplete sans json et cela fonctionne.

Si quelqu'un a une idée, je suis preneur.

Cordialement,
Sapajou