После нескольких дней попыток (мои навыки работы с JavaScript были довольно плохими), мне удалось заставить что-то работать, используя код Пита Фрейтага (см. Комментарий выше).
Код, вероятно, некрасивый (поэтому я представляю его вам, ребята, любые конструктивные комментарии приветствуются).
$.editable.addInputType('autocompleteCON', {
element : $.editable.types.text.element,
plugin : function(settings, original) {
$('input', this).each(function() {
/* change name of original input */
$(this).attr('name', 'cellvalue_autocomplete_label');
$(this).attr('id','parentInput');
/* create new hidden input with name of orig input */
$(this).after('<input type="hidden" name="cellvalue" id="cellvalue_autocomplete_hidden" />');
$(this).autocomplete({
source: "tab_autocomplete.php?cat=CON",
change: function(event, ui) {
if (!ui.item) {
$(this).val('');
$('#cellvalue_autocomplete_hidden').val('');
return false;
}
},
select: function(event, ui) {
$('#cellvalue_autocomplete_hidden').val(ui.item.value);
$('#parentInput').val(ui.item.label);
return false;
}
});
// alert(result);
}).data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + " <span style='font-size:0.8em;font-weight:normal;max-width:650px;'>(" + item.desc + ")</span></a>" )
.appendTo( ul );
};
},
submit: function (settings, original) {
var value = $('#cellvalue_autocomplete_hidden').val();
$('input', this).val(value);
}
});
$(".autocompleteCON_con").editable("update.php", {
id : 'cellid',
name : 'cellvalue',
event : 'dblclick',
submitdata : {id: "<?php echo $id_contact; ?>"},
type : 'autocompleteCON',
indicator : 'Saving...',
select : true,
tooltip : 'Double click to edit...',
placeholder : '<b style="color:#AAA">Edit</b>',
style : 'display: inline',
height : '25px',
width : '150px',
onblur : 'ignore',
submit : 'Save',
cancel : 'Cancel',
callback : function(value, settings) {
// some function
}
});