2010-01-23 4 views
1

gars Hai,Comment passer des données JSON à jquery autocomplete

quelqu'un peut me aider à transmettre ces données JSON à jquery plugin automplete ... Comme je suis un débutant à jquery je ne comment le faire ...

[{"0":"1","id":"1","1":"Albania","country":"Albania"}, 
{"0":"2","id":"2","1":"Algeria","country":"Algeria`"}, 
{"0":"3","id":"3","1":"Angola","country":"Angola"}, 
{"0":"4","id":"4","1":"Anguilla","country":"Anguilla"}, 
{"0":"5","id":"5","1":"Antigua","country":"Antigua"}, 
{"0":"6","id":"6","1":"Argentina","country":"Argentina"}, 
{"0":"7","id":"7","1":"Armenia","country":"Armenia"}, 
{"0":"8","id":"8","1":"Aruba","country":"Aruba"}, 
{"0":"9","id":"9","1":"Australia","country":"Australia"}, 
{"0":"10","id":"10","1":"Austria","country":"Austria"}, 
{"0":"11","id":"11","1":"Azerbaijan","country":"Azerbaijan"}, 
{"0":"26","id":"26","1":"Bulgaria","country":"Bulgaria"}, 
{"0":"27","id":"27","1":"Burkina Faso","country":"Burkina Faso"}] 

Répondre

2

D'où vient le json? À moins qu'il ne s'agisse de JSON, il serait peut-être préférable de le mettre dans un autre format; le plugin jquery.autocomplete ne semble pas avoir intégré la gestion JSON, donc vous devrez écrire des fonctions de gestion vous-même.

En supposant que ces données ne changent jamais, vous pouvez les enregistrer dans un fichier JavaScript (par exemple, countries.js) à la place. Utilisez le format suivant:

var countries = [ 
{ id: 1, country: "Albania" }, 
{ id: 2, country: "Algeria`" }, 
{ id: 3, country: "Angola" }, 
{ id: 4, country: "Anguilla" }, 
{ id: 5, country: "Antigua" }, 
{ id: 6, country: "Argentina" }, 
{ id: 7, country: "Armenia" }, 
{ id: 8, country: "Aruba" }, 
{ id: 9, country: "Australia" }, 
{ id: 10, country: "Austria" }, 
{ id: 11, country: "Azerbaijan" }, 
{ id: 26, country: "Bulgaria" }, 
{ id: 27, country: "Burkina Faso" } 
]; 

Alors, voici comment vous appelez le plug-in dans votre fichier principal:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 

<script src="jquery.js"></script> 
<script src="jquery.autocomplete.js"></script> 
<script src="countries.js"></script> 
<link rel="stylesheet" type="text/css" href="jquery.autocomplete.css" /> 

<script type="text/javascript"> 
$().ready(function() { 


$("#menu").autocomplete(countries, { 
    minChars: 0, 
    width: 310, 

    matchContains: true, 
    autoFill: false, 
    formatItem: function(row, i, max) { 
    return row.country; 
    }, 
    formatMatch: function(row, i, max) { 
    return row.country; 
    }, 
    formatResult: function(row) { 
    return row.id; 
    } 
}); 

}); 

</script> 

</head> 

<body> 

<form autocomplete="off"> 
    <p> 
    <label>Countries:</label> 
    <input type="text" id="menu" /> 
    <input type="button" value="Get Value" /> 
    </p> 

</body> 
</html> 
0

enregistrer cette JSON dans un fichier et un lien vers les paramètres du plugin autocomplete.