可执行和自动完成协作的工作示例
我看到很多谷歌post,但似乎所有人都在谈论这是如何进行的。 有没有人知道可协作和自动完成function的工作版本一起工作,所以我可以点击文本并获得一个文本框,并具有针对该文本框工作的自动完成function
编辑:我打开一个赏金,因为它似乎仍然没有这些解决方案复制堆栈溢出标签+ jeditable我可以使用jeditable在点击文本后得到一个可编辑的texbox然后能够输入一个逗号分隔的列表,自动完成每个我键入的条目(类似于在堆栈溢出中输入标记)。
看看这个
基于JQuery的就地编辑+自动完成
用法
$('#edit').editable( 'echo.php', // POST URL to send edited content { indicator : , // options for jeditable event: 'click' // check jeditable.js for more options }, { url: "search.php", //url form where autocomplete options will be extracted minChars: 1, // check autocomplete.js for more options formatItem:formatItem, selectOnly: 1, inputSeparator:';' // a new option of inputSeparator was introduced. } );
您可以使用’,’作为输入分隔符。
这正是Jeditable自定义输入的用途。 检查快速和脏的工作演示 (开始输入以字母a开头的内容 )。
演示用5行代码完成。 它使用JörnZaefferer的Autocomple插件进行自动完成:
$.editable.addInputType('autocomplete', { element : $.editable.types.text.element, plugin : function(settings, original) { $('input', this).autocomplete(settings.autocomplete.data); } });
然后你可以用以下内容调用Jeditable:
$(".autocomplete").editable("http://www.example.com/save.php";, { type : "autocomplete", tooltip : "Click to edit...", onblur : "submit", autocomplete : { multiple : true, data : ["Aberdeen", "Ada", "Adamsville", "Addyston", "Adelphi", "Adena", "Adrian", "Akron"] } });
对于由逗号分隔的电子邮件列表,我需要与来自bassistance的jeditable和autocomplete相同的function。 所以,我改变了Mika Tuupola的演示,让它像这样工作:
$.editable.addInputType('autocomplete', { element: $.editable.types.text.element, plugin: function(settings, original) { $('input', this).autocomplete(settings.autocomplete.urlOrData, settings.autocomplete.options); } });
当你调用jEditable时,你需要添加以下内容:
$('.autocomplete').editable('http://www.example.com/save', { type: 'autocomplete', autocomplete: { urlOrData: ["Aberdeen", "Ada", "Adamsville"] , // can also be url: 'http://www.example.com/autocomplete', options: { multiple: true } } });
这里要理解的基本要点是,当你调用$(’input’,this).autocomplete(…)时,你实际上是将自动完成插件function应用于可编辑输入,这就是你必须通过自动完成选项的地方,通过设置对象,与您传递给jeditable的设置相同。
可编辑: jQuery jeditable我最近在我的项目中使用过它(就像这样,稍作修改就可以使用页面方法)
自动完成: 低音
将它与jQuery UI结合起来与上面的Mika示例没什么不同。 这对我有用
$.editable.addInputType('autocomplete', { element : $.editable.types.text.element, plugin : function(settings, original) { $('input', this).autocomplete(settings.autocomplete); } }); $(".autocomplete").editable("http://www.example.com/save.php", { type : "autocomplete", tooltip : "Click to edit...", onblur : "submit", autocomplete : { minLength : 2, source : ["Aberdeen", "Ada", "Adamsville", "Addyston", "Adelphi", "Adena", "Adrian", "Akron"] } });
完整工作集成dataTable,dataTables可编辑(遗留),jEditable,自动完成jQuery插件与AJAX源和结果更新在页面底部(即附加到html的主体)通过以下方式解决:
$.editable.addInputType('autocomplete', { element: $.editable.types.text.element, plugin: function(settings, original) { var $row = $(this).closest('tr').prop('id'); settings.autocomplete.appendTo = "#results-"+$row; $('input', this).autocomplete(settings.autocomplete); } });
数据表旧版可编辑代码:
{ tooltip: 'Click to update Owner', type: 'autocomplete', autocomplete: { serviceUrl: './search/users/by/name', minChars: 5, paramName: 'username', dataType: 'json' }, cancel : 'Cancel', submit : 'Submit', }
表中的TD有: