我想向search.php
页面传递多个值,我该怎么做?
<html>
<head>
<title>Ajax Search Box using PHP and MySQL</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="typeahead.min.js"></script>
<script >
$(document).ready(function(){
$('input.typeahead').typeahead({
name: 'typeahead',
remote: 'search.php?key=%QUERY',
prefetch: 'search.php',
limit : 10
});
});
</script>
</style>
</head>
<body>
<h1>Ajax Search Box using Node and MySQL</h1>
<button type="button" >Visit Tutorial</button>
<input type="text" name="typeahead" class="typeahead" autocomplete="off" spellcheck="false" placeholder="Type your Query">
</body>
</html>
只需使用&将无法使用typeahead。在设置查询字符串之前,您需要使用replace
来处理它。
$('#Last_Name').typeahead({
name: 'typeahead',
remote: {
url: 'Search.pl?query=%QUERY',
replace: function(url, uriEncodedQuery) {
var QUERY2 = $("#textfield").val(); // get other field value
if (!val) return url;
return url + '&Key2=' + encodeURIComponent(QUERY2)
},
limit : 10
});
编辑后:
我创建了一个有两个输入框的fiddle,一个有typeahead,另一个输入的值只是通过type head传递,你会通过netpanel(firebug)看到它,或者无论你是否使用ajax调用,你都可以看到
http://suggestqueries.google.com/complete/search?client=chrome&q=%QUERY&newField=10&callback=jQuery191022225840536777897_1447822862109&_=1447822862110
其中"newField"是的另一个输入字段
这里的工作Fiddle
您需要添加&
来分离变量。对于您的代码,请执行以下操作。
$('input.typeahead').typeahead({
name: 'typeahead',
remote:'search.php?var1=value1&var2=value2',
limit : 10
});
有两种方法。第一个是创建一个FORM并发送表单中的所有变量,比如这个
url: 'Search.pl?' + $( "#myUrl" ).serialize(),
另一种方法是添加所有需要用"&"分隔的变量
url: 'Search.pl?var1=' + value1 + '&var2=' + value2,