我有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);
}
});
答案 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 :它未经测试,只是编写了快速代码,以便朝着正确的方向推动您。如果您需要更多帮助,请告诉我。