JQuery AutoComplete Usando dados JSON
Imagine um arquivo json com os seguintes dados:
[
{
color: "red",
value: "#f00"
},
{
color: "green",
value: "#0f0"
},
{
color: "blue",
value: "#00f"
},
{
color: "cyan",
value: "#0ff"
}
]
Usando o método autocomplete da jQuery, eu quero que ele seja capaz de exibircor como opções para selecionar e inserirvalor em uma entrada.
<input type="text" name="selector" id="selector" />
<input type="text" name="color" id="color" />
<input type="text" name="value" id="value" />
O acima não precisa de apresentações. Seletor para a pesquisa nas cores,input.color
comcor valor einput.value
comvalor valor.
EDITAR: Eu tenho esses dados JSON:
[{
"label": "Sec\u00e7\u00e3o 1",
"value": "1"
}, {
"label": "Sec\u00e7\u00e3o 2",
"value": "2"
}, {
"label": "Sec\u00e7\u00e3o 3",
"value": "3"
}, {
"label": "Sec\u00e7\u00e3o 4",
"value": "4"
}]
e este HTML:
<input type="text" id="name" />
<input type="text" id="value" />
e esta jQuery:
$(document).ready(function(){
$("#name").autocomplete({
source: "json.php",
select: function (event, ui) {
$("#name").val(ui.label);
$("#value").val(ui.value);
}
});
});
Eu segui a resposta de Andrew e isso me levou a selecionar os dados, mas se euui.label
eui.value
variáveis, diz "indefinido". o que estou perdendo?
Edit2: Digamos que eu tenha esse HTML:
<input type="text" class="name" />
<input type="text" class="value" />
<input type="text" class="name" />
<input type="text" class="value" />
É possível lidar com vários seletores com o mesmo.autocomplete()
método? Como, selecione o rótulo que eu quero usando oinput.name
e só atualizar oinput.value
próximo a?
[input.name] [input.value]
^ Eu seleciono ^ atualiza o
um valor de etiqueta ao lado
[input.name] [input.value]
^ isso permanece intacto ^