1

我正在尝试开发一个用 PHP 编写的网站,其中包括一个用户使用它在网站上注册的页面。在选择此页面的国家/地区部分时,我正在尝试使用 LOOPJ ( http://loopj.com/jquery-tokeninput/demo.html ) jQuery 自动完成脚本。当我尝试搜索并制作建议列表时,我想发送另一个字段的数据,该数据位于表单的文本框中。所以我尝试使用以下代码:

    $(document).ready(function() {
        var countryfrom = $("input#country2").val();
        $("#city-input-custom-limits").tokenInput("autocomplete/city_search.php?country=" + countryfrom, {
            searchDelay: 1000,
            minChars: 3,
            tokenLimit: 1
        });
    });

一切正常。但是当我更改“country2”文本框的值时,该值countryfrom并没有改变,并且country2返回到city_search.php页面的初始值。

任何人都可以提出建议,为什么countryfrom值在改变时不会country2改变?

4

1 回答 1

3

你应该听keyup事件:

// Cache the element
var $elem = $("#city-input-custom-limits");

$("#country2").on('keyup', function() {
     var country = $.trim(this.value);
     $elem.tokenInput("autocomplete/city_search.php?country=" + country, {
         searchDelay: 1000,
         minChars: 3,
         tokenLimit: 1
     });
}).triggerHandler('keyup'); // execute the handler on DOM ready
于 2013-09-14T15:56:28.567 回答