+
+ var ajax_data = function(term) {
+ return {
+ term: term,
+ type: function() { return $type.val() },
+ column: function() { return $column.val()===undefined ? '' : $column.val() },
+ current: function() { return $real.val() },
+ obsolete: 0,
+ }
+ }
+
+ var set_item = function (item) {
+ if (item.id) {
+ $real.val(item.id);
+ // autocomplete ui has name, ajax items have description
+ $dummy.val(item.name ? item.name : item.description);
+ } else {
+ $real.val('');
+ $dummy.val('');
+ }
+ }
+
+ $dummy.autocomplete({
+ source: function(req, rsp) {
+ $.ajax($.extend(o, {
+ url: 'controller.pl?action=Part/ajax_autocomplete',
+ dataType: "json",
+ data: ajax_data(req.term),
+ success: function (data){ rsp(data) }
+ }));
+ },
+ select: function(event, ui) {
+ set_item(ui.item);
+ },
+ });