Jquery自动完成基于输入值前缀的更改源

时间:2014-06-22 17:53:58

标签: javascript php jquery autocomplete

我有2个远程php脚本作为数据源,我想根据用户输入前缀调用每个脚本。 我无法通过jquery自动完成或使用javascript找到如何做到这一点。 我可能需要调用一个正则表达式函数来决定使用哪个数据源。

我从常规表单文本字段中获取用户输入:

<script type="text/javascript">
            jQuery(document).ready(function() {
                    $('#srv_search').autocomplete({
                            source:'srv_search.php',
                            minLength:2});
            });
    </script>
            <form action="site.php" method="post">
                    <input type="text" id="srv_search" name="server" value="" style="width: 80%;">
                    <input type="submit" value="Go">
            </form>

谢谢, 大卫

PS,这是我根据回复尝试的并且不起作用:

$('#srv_search').autocomplete({
                            minLength:2,
                            source: function(request, response) {
                                    var usearch = request;
                                    var upatt = new RegExp(/^f[0-9]/);
                                    if (upatt.test(usearch)) {
                                            var dataSource = "srv_search.php";
                                    }
                                    else {
                                            var dataSource = "des_search.php";
                                    }
                                    $.get(dataSource, {term: request}, response);
                                    }
                    });

1 个答案:

答案 0 :(得分:0)

使用source: someFn

哪里

someFn = function(request, response) {
    // request["term"] = Text entered by User
    // Choose your data source based on it.

    var dataSource = /* whatever */;
    $.getJson(dataSource, request, response);

    // or $.get(dataSource, request, response);
    // basically response is to be used as callback
}

PS :它未经测试,只是编写了快速代码,以便朝着正确的方向推动您。如果您需要更多帮助,请告诉我。