У автозаполнения есть событие изменения, которое запускается, когда поле размыто, если значение изменилось. Вам необходимо привязать обработчик события к этому событию, а затем установить скрытое поле в этом обработчике события.
Итак
$(".tb").autocomplete({
source: function(request, response) {
$.ajax({
url: "EmployeeList.asmx/FetchEmailList",
data: "{ 'mail': '" + request.term + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function(data) { return data; },
success: function(data) {
response($.map(data.d, function(item) {
return {
value: item.Email
}
}))
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
minLength: 1,
change : function (event,ui) {
$("#hdnEmpId").val(ui.item.value);
}
});
Вам нужно будет выяснить, как вы хотите реализовать обработчик события изменения. Вы можете прочитать больше об этом на http://jqueryui.com/demos/autocomplete/#event-change
Надеюсь, это поможет!