許多感謝的努力之後幾天(我的JavaScript技能是相當糟糕),我好不容易纔得到的東西用皮特Freitag的代碼工作(見上述評論)。
該代碼可能是醜陋的(這就是爲什麼我把它提交給你們,任何建設性的意見是值得歡迎的)。
$.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
}
});
好回答另一個問題,我剛剛找到,地址如下答案: http://www.petefreitag.com/item/756.cfm – Jonas 2010-08-11 07:28:44