这些是我的两个文本框
<input name="temp" type="text" id="authnames" />
<input name="qot" type="text" id="qid" value=""/>
我在第一个文本框中获取值,我可以在屏幕上看到它(具有id authnames的那个)
现在我需要将该值传递给jquery / ajax到一个新的php页面并需要在那里检索它
下面是我的jquery / ajax代码,看看我传递它的方式,这是正确的方法,因为我觉得我在autocompletequote.php
得到任何价值,我做错了什么?
$(document).ready(function(){
$("#qid").autocomplete({
source: "autocompletequote.php",
minLength: 1,
data: { postcode: $("#authnames").val(),
type: "post",
dataType: "json",
success: function(data) {
console.log( data );
console.log("hi");
}
},
select: function (event, ui) {
var label = ui.item.label;
var value = ui.item.value;
//alert(label);
alert(value);
}
});
});
我用来检索&#34; authnames&#34;
中的值值的两个代码$author = $_POST['postcode'];
和
$author = $_GET['postcode'];
这也是正确的吗?
我在autocomplete.php中写了2个查询
一个查询不需要$ author的值和$ author的其他需求值,
第一个查询工作正常第二个不工作它返回null
请帮帮我
答案 0 :(得分:1)
我认为你自动完成的语法是错误的。
必须遵循jquery-autocomplete的语法。
数据实际上是自动完成后的一个函数。
所以要修复你的代码,去做你正在做的事情。
$(document).ready(function(){
$("#qid").autocomplete
({
source:"autocompletequote.php",
minLength:1,
select: function (event, ui)
{
var label = ui.item.label;
var value = ui.item.value;
//alert(label);
alert(value);
$.ajax({
url: "autocompletequote.php",
data: { "Myvariablename" : $("#authnames").val() } ,
type:"post",
dataType:"json",
success:function(data)
{
console.log( data );
console.log("hi");
}
});
}
});
});
或者我误解了目的
在PHP中
$authname = $_POST["Myvariablename"];
已编辑:
要传递额外的查询或自定义查询,源属性必须是类似的函数
$("#qid").autocomplete({
source: function(request, response) {
$.getJSON("autocompletequote.php", { "Myvariablename" : $("#authnames").val(), "someothervarialble" : xxx },
response);
},
minLength: 1,
select: function(event, ui){
// your action or futher ajax code goes here.
}
});
答案 1 :(得分:0)
最后我得到了答案我刚刚将代码更改为
<script>
var label;
var value;
$(document).ready(function(){
$("#tag").autocomplete({
source:'autocomplete.php',
minLength:1,
select: function (event, ui)
{
label = ui.item.label;
value = ui.item.value;
$("#authnames").val(value);
console.log("hi");
//alert(label);
alert(value);
$("#qid").autocomplete({
source:'autocompletequote.php?postcode='+value,
minLength:1,
select: function (event, ui)
{
var label1 = ui.item.label;
var value1= ui.item.value;
console.log("hi");
//alert(label);
//alert(value);
}
});
}
});
});
</script>
现在一切都好了