Jquery ui 触发JQuery';自动完成';在第二区域
我们目前有两个HTML文本区域“tinput”(主要)和“toutput”(次要),在这两个区域中,我们模拟主要区域中的输入,以反映在次要区域中,就好像有人真的在次要区域中键入一样。其想法是在辅助服务器上触发“自动完成”(通过ajax)。我们有这个工作,但不是最佳的 我们已将JQuery UI“自动完成”(JQAC)附加到具有minLength:3集的辅助系统。您可能知道,通常情况下,在输入3个字符之后,JQAC会“缓冲”上面的字符条目,而不会对输入的每个字符进行ajax调用。这是理想的 然而,通过我们的第二次模拟,我们颠覆了这种行为,不幸的是,在第三个char条目之后,会对之后的每个char进行JQAC ajax调用,这不是最优的。我们知道为什么,但不知道如何避开它。我们相信我们已经颠覆了这一点,因为我们正在打电话Jquery ui 触发JQuery';自动完成';在第二区域,jquery-ui,autocomplete,keystroke,Jquery Ui,Autocomplete,Keystroke,我们目前有两个HTML文本区域“tinput”(主要)和“toutput”(次要),在这两个区域中,我们模拟主要区域中的输入,以反映在次要区域中,就好像有人真的在次要区域中键入一样。其想法是在辅助服务器上触发“自动完成”(通过ajax)。我们有这个工作,但不是最佳的 我们已将JQuery UI“自动完成”(JQAC)附加到具有minLength:3集的辅助系统。您可能知道,通常情况下,在输入3个字符之后,JQAC会“缓冲”上面的字符条目,而不会对输入的每个字符进行ajax调用。这是理想的 然而,
$('#tinput').autocomplete('search',$('#tinput').val())
在secondary的键句柄中,根据JQAC的文档,它强制进行ajax调用
总而言之,我们需要第二个JQAC连接到它,它的行为就像有人真的在输入它一样,而JQAC的行为正常
下面是我们的字符输入模拟处理的JS(我们已经更改了本文的变量名,所以请忽略输入错误):
如有任何想法,将不胜感激。谢谢 我们找到了一个优雅的解决方案。这是对我们原版的一个小小的修改
$("#tinput").on('input', function (e) {
$("#toutput").val($("#tinput").text());
var newEvent = jQuery.Event("input");
newEvent.which = e.which; // # Some key code value
$("#toutput").trigger(newEvent);
});
并删除:
//$("#toutput").keypress(function(e) {
// $("#toutput").autocomplete('search',$("#toutput").val());
// });
完成了
//$("#toutput").keypress(function(e) {
// $("#toutput").autocomplete('search',$("#toutput").val());
// });