我正在使用jQuery UI库的autocomplete功能。我在网页上有两个表单字段-一个是内部搜索,一个是我公司通过REST API在第三方网站上管理的内容。
这可以正常工作-如果我有两个相邻的表单字段,我可以键入其中一个并在下面获取该数据源的自动完成结果。
不过,我被要求做的是将两个字段合并为一个“主”搜索字段,并隐藏了两个单独的字段。它将在both]数据源中搜索用户的输入,并在该字段下方的单独ui-autocomplete框中显示结果。
[我的想法是,如果我可以将自动完成的触发方法从“ focus”更改为“ keyup”,那么它将很好地工作,或者如果我可以“伪造” focus触发器而不将光标发送到隐藏字段。] >
对此有何想法?
更新:
这是我一直在尝试的代码,它不起作用。这就是让我认为我依赖焦点事件的原因。
$(function(){ // run autocomplete on form fields searchAutocomplete('/support/results_json/','#keywords'); searchAutocomplete('/support/zdresults_json/','#zd_search'); //$('#ee_searchform').hide(); // will need this later //$('#zd_searchform').hide(); // will need this later $('<form id="support_search" class="group" method=""><fieldset><legend>Search Support</legend><ol><li><label for="support_keywords">Keywords</label><input type="search" value="" name="support_keywords" id="support_keywords" /></li><li class="submit"><input type="submit" name="support_submit" id="support_submit" value="Search" /></li></ol></form>').insertAfter('#zd_searchform'); $('#support_keywords').keyup(function() { var value = $('#support_keywords').val(); $('#keywords').val(value); $('#keywords').keyup(); }); });
所以您可以看到,我采用了HTML包含的两个表单字段,并确保它们调用了有效的自动完成功能。然后,我使用jQuery向DOM中添加另一种形式,当它得到一个keyup时,它将其内容添加到其他字段之一中,并为该字段提供keyup。不过,这并不称为自动完成功能。
非常感谢。
我正在使用jQuery UI库的自动完成功能。我在网页上有两个表单域-一个是内部搜索,一个是通过...
我在这里的第一个想法是隐藏原始字段(如果需要,请聚焦),然后在单个焦点事件之前或与之结合注入一个新字段,然后建议您管理自动完成源:
source: function(request, response)
{
// do both your ajax calls here and combine your results prior to providing to your field
}