Hãy tưởng tượng một tệp json với các dữ liệu sau:AutoComplete jQuery dữ liệu Sử dụng JSON
[
{
color: "red",
value: "#f00"
},
{
color: "green",
value: "#0f0"
},
{
color: "blue",
value: "#00f"
},
{
color: "cyan",
value: "#0ff"
}
]
Sử dụng phương pháp autocomplete của jQuery, tôi muốn nó có thể hiển thị các màu như các tùy chọn để chọn và chèn giá trị trên đầu vào.
<input type="text" name="selector" id="selector" />
<input type="text" name="color" id="color" />
<input type="text" name="value" id="value" />
Ở trên không cần giới thiệu. Công cụ chọn tìm kiếm màu sắc, input.color
với màu giá trị và input.value
với giá trị giá trị giá trị.
EDIT: Tôi có dữ liệu này 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"
}]
và HTML này:
<input type="text" id="name" />
<input type="text" id="value" />
và jQuery này:
$(document).ready(function(){
$("#name").autocomplete({
source: "json.php",
select: function (event, ui) {
$("#name").val(ui.label);
$("#value").val(ui.value);
}
});
});
Tôi đi theo câu trả lời của Andrew và nó nhắc tôi chọn dữ liệu, nhưng nếu tôi cảnh báo ui.label
và ui.value
biến, nó nói 'không xác định'. Tôi đang thiếu gì?
Edit2: Hãy nói rằng tôi có HTML này:
<input type="text" class="name" />
<input type="text" class="value" />
<input type="text" class="name" />
<input type="text" class="value" />
Có thể xử lý nhiều selectors với cùng phương pháp .autocomplete()
? Tương tự, chọn nhãn tôi muốn sử dụng input.name
và chỉ cập nhật input.value
bên cạnh nhãn đó?
[input.name] [input.value]
^ Tôi chọn ^cập nhật
nhãn giá trị bên cạnh nó
[input.name] [input.value]
^ này vẫn còn nguyên vẹn^
Bạn có đang sử dụng nguồn dữ liệu từ xa hoặc cục bộ không? –
Nó sẽ là một tập tin php nhận được các giá trị từ một DB và mã hóa chúng ở định dạng JSON ... – silentw
Tôi đã không cố gắng nhiều, vì tôi vẫn đang cố gắng tìm ra cách đúng để sử dụng tự động hoàn thành của jQuery là gì ... – silentw