Я думаю, вы захотите, чтобы ваш JSON имел форму [{"a":"asd1","b":"b1"},{"a":"asd2","b":"b1"}...]
, тогда вы могли бы обработать его с помощью функции синтаксического анализа, например, так:
function myAutocompleteJSONParse(data)
{
var rows = new Array();
var rowData = null;
for (var i = 0, dataLength = data.length; i < dataLength; i++)
{
rowData = data[i];
rows[i] = {
value: rowData.A,
label: rowData.A,
A: rowData.A,
B: rowData.B
};
}
return rows;
};
Затем вы можете вызвать это из ajax так:
...
success: function(data)
{
if (!data || data.length == 0)
{
var rows = new Array();
rows[0] = { A: 'Not Found',
B: ''
};
response(rows);
}
else
{
var rows = myAutocompleteJSONParse(data);
response(rows);
}
}
...
затем в дескрипторе автозаполнения выберите его:
...
select: function(event, ui)
{
var hasValue = (ui.item.value != undefined && ui.item.value != "" && ui.item.value != null);
if (hasValue)
{
var focusedElement = $(this);
focusedElement.val(ui.item.label);
$("#b").val(ui.item.B);
return false;
}
else
{
return false;
}
},
...
Допущения здесь: использование автозаполнения пользовательского интерфейса jQuery, использование текущей версии jQuery 1.6.4