JQuery Autocomplete avec post et json
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:
<input id='searchEnseigne'>
le js :
Code:
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:
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:
{"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