编程语言
首页 > 编程语言> > javascript – 如何让Ajax.Autocompleter在不输入的情况下执行请求?

javascript – 如何让Ajax.Autocompleter在不输入的情况下执行请求?

作者:互联网

我正在使用scriptaculous的Ajax.Autocompleter进行不同过滤器的搜索.

http://github.com/madrobby/scriptaculous/wikis/ajax-autocompleter

过滤器要求我动态地将数据传递到自动完成器,我已经成功地从以下链接中学习了这些.

http://www.simpltry.com/2007/01/30/ajaxautocompleter-dynamic-parameters/

现在,我有多个过滤器和一个搜索框.如何在不输入输入的情况下让自动完成器发出请求,但是单击新的过滤器?

这是一个用例来澄清.页面加载,有多个过滤器(只是带有onclicks的链接),以及一个附加了自动完成器的输入字段.我输入一个查询并执行自动完成请求.然后,我点击一个不同的过滤器,我想要使用相同的查询,但不同的过滤器执行另一个请求.

或者更简洁一点,如何让自动完成程序在我想要的时候执行请求,而不是依赖于键入来触发它?

解决方法:

我还发现activate()方法效果很好.这是我的示例代码….

<script type="text/javascript">
    /*<![CDATA[*/

    var autocomp1 = new Ajax.Autocompleter("search", "AjaxResultsListPlaceholder", "ajaxServerSideSearchHandler.php", {
            frequency: 1,
            minChars: 10,
            indicator: "AjaxWorkingPleaseWaitPlaceholder",
            } );


    /*]]>*/
</script>

<form id="theform">
    <input type="text" id="search" name="search" value="" />
    <input type="button" id="btn_search" name="btn_search" value="Search" onclick="autocomp1.activate();" />
    <div id="AjaxWorkingPleaseWaitPlaceholder" style="display: none; border: 1px solid #ffaaaa;">
    </div>
    <div id="AjaxResultsListPlaceholder" style="display: none;; border: 1px solid #aaffaa;">
    </div>

</form>

标签:scriptaculous,javascript,ajax,autocomplete
来源: https://codeday.me/bug/20190731/1585593.html