【发布时间】:2026-02-04 02:35:01
【问题描述】:
我想创建一个自动完成文本字段来显示名称并在我选择其中一个时获取值。
我正在学习本网站的教程
和成功。工作代码是这样的:
var data = [
{ value: "AL", label: "Alabama" },
{ value: "AK", label: "Alaska" },
{ value: "AZ", label: "Arizona" }
];
$(function() {
$("#autocomplete2").autocomplete({
source: data,
focus: function(event, ui) {
event.preventDefault();
$(this).val(ui.item.label);
},
select: function(event, ui) {
event.preventDefault();
$(this).val(ui.item.label);
$("#autocomplete2-value").val(ui.item.value);
}
});
});
我想用我的 JSON 替换上面写的 var 数据。 这是我的 JSON 的样子
[{"value":"1","label":"Gambir"},{"value":"2","label":"Kebon Kelapa"},{"value":"3","label":"Petojo Utara"}]
我想这样做
var data = [
here would be data from my json,
the JSON url: app.base_url+'adm/pengiriman/pengiriman_kodepos'
how to write code to retrieve JSON in here?
];
$(function() {
$("#autocomplete2").autocomplete({
source: data,
focus: function(event, ui) {
event.preventDefault();
$(this).val(ui.item.label);
},
select: function(event, ui) {
event.preventDefault();
$(this).val(ui.item.label);
$("#autocomplete2-value").val(ui.item.value);
}
});
});
但是,这样做的正确方法是什么? 我尝试从此修改源代码:
source: data,
变成这样:
source: function (request, response) {
$.getJSON(app.base_url+'adm/pengiriman/pengiriman_kodepos', function (data) {
response($.map(data, function (value, key) {
return {
label: value,
value: key
};
}));
});
},
或者这个:
source: function(request, response) {
$.ajax({
url: app.base_url+'adm/pengiriman/pengiriman_kodepos',
dataType: "json",
data: { q: request.term },
success: function(data) {
response($.map(data, function(value,key) {
return { label:value.label , value: value.value }
}));
}
});
},
或者这个:
source: app.base_url+'adm/pengiriman/pengiriman_kodepos',
仍然没有运气.. 我对 JQuery 和 JSON 都很陌生 感谢您的帮助..
【问题讨论】:
标签: javascript php jquery json autocomplete