Моя первая мысль здесь состоит в том, чтобы скрыть исходные поля (если хотите, в фокусе) и добавить новое до или в сочетании с отдельными событиями фокусировки, а затем предложить вам управлять источником автозаполнения:
source: function(request, response)
{
// do both your ajax calls here and combine your results prior to providing to your field
}
ТО, вы можете обрабатывать результаты, используя некоторую комбинацию:
source: function(request, response)
{response(rows);},//where rows is an array of results
search:function(event, ui){},
focus:function(event, ui){},
open:function(event, ui){},
и, наконец,
select: function(event, ui)
{}//handle what to do with the selection of/from the results list
Это поможет избежать какого-либо сложного / сложного управления состоянием входа, а затем вы сможетеуправлять представлением результатов.
РЕДАКТИРОВАТЬ: Пример нескольких ajax concats (очень просто и без сортировки и т. д.)
См. эту страницу скрипта для некоторых вещей (не работает как есть из-за jsonajax отсутствует, но вы можете работать с ним, я надеюсь) http://jsfiddle.net/MarkSchultheiss/Z6rVE/
Как написано, он предполагает наличие json с MyCode, Description и SourceTable
[{"MyCode":"code","Description":"my desc","SourceTable":"mysource"},{"MyCode":"code","Description":"my desc","SourceTable":"mysource"}]
, вам просто нужен каждый источниксказать SourceTable (или добавить новый материал, который вам может понадобиться)