我在输入表单“city”上使用jquery autocomplete,但我希望在“autocity”中使用该查询。php'文件,仅建议预选国家/地区的城市,即城市如“%$term%”和CountryID=“%$code>。表单操作提交使用单独的php文件(create business.php)将表单数据插入数据库,以便通常的$_POST['Countries\u CountryID']在autocity.php中不起作用。这就是我现在使用AJAX向autocity.php发布“country”的原因。另外,如果能够从autocity.php文件中回显/alert/print\r,这样我就可以确认来自AJAX发布的$_post['$country']到达autocity.php文件,那将是一件非常棒的事情。
表单里有两个输入框
<pre>`
<form id="input" action="php/create-business.php" method="post">
<select name="Countries_CountryId" id="country">
<input type="text" id="city" name="City">`
</pre>
这是表单中的脚本
<script>
$(function () {
var country = $("#country").val();
$.ajax({
type:"POST", url:"autocomplete/autocity.php", data:"country",
beforeSend:function () {
// alert(country);
}, complete:function () { // is there any need for this?
}, success:function (html) { // is there any need for this too?
}
});
$("#city").autocomplete(
{
source:'autocomplete/autocity.php'
})
});
</script>
这就是独裁。php
` //database connection works fine and autocomplete //suggestion works without the AND CountryID = '%$country%' part. $country = ""; if (isset($_POST['country'])) { $country = trim($_POST['country']);} echo "window.alert($country);"; //This did nothing no alert $term = $_REQUEST['term']; $req = "SELECT City FROM cities WHERE City LIKE '%$term%' AND CountryID = '%$country%'"; $query = mysql_query($req); while ($row = mysql_fetch_array($query)) { $results[] = array('label' => $row['City']); } echo json_encode($results); ?>`
因此,问题基本上是:
1-如何在应用程序中使用AJAX从表单输入的文本。用于查询不是提交表单操作的MySQL数据库的php文件。php文件
2-当ajax被用来显示php文件收到我的ajax帖子时,我如何从PHP文件中提醒post变量。在我短暂的经验中,回声和print_r只在表单提交上工作,当网页发生变化时,显示表单提交的结果。
3-我的语法如何?
非常感谢你提前帮助这个新手: D
好的,这是我尝试过的最新情况。我想我很接近了。我正在使用jqueryui-//ajax。古格里皮斯。com/ajax/libs/jqueryui/1.10。0/jqueryui。min.js
下面是脚本方法1:
$(document).ready(function () {
var country = $('#country').value();
alert(country + " complete");
$("#city").autocomplete(
{
source:'autocomplete/autocity.php?country='+country,
minLength:1
});
});
下面是脚本方法2:
$(document).ready(function () {
$('#city').autocomplete({
// source: function() { return "GetState.php?country=" + $('#Country').val();},
source:function (request, response) {
$.ajax({
url:"autocomplete/autocity.php",
//dataType:"json",
data:{
term:request.term,
country:$('#country').val()
},
success:function (data) {
response(data);
}
});
},
minLength:2
});
});
我更喜欢方法2,因为它允许我添加多个参数。
最后这是我最新的autocity.php代码
<?php
$term = $_REQUEST['term'];
$country = $_REQUEST['country'];
$req = "SELECT City
FROM cities
WHERE City LIKE '%$term%' AND CountryID = '%$country%' ";
$query = mysql_query($req);
while ($row = mysql_fetch_array($query)) {
$results[] = array('label' => $row['City']);
}
echo json_encode($results);
?>
不过我还是完全被卡住了。有人能看到代码的问题吗?我在网上到处寻找正确的语法。再次感谢
对于第一个问题,您的方法基本上是正确的。您可以绑定到特定字段的模糊事件,并使用您的函数获取该字段的值,并以您正在执行的方式提交到php脚本。$。blur()就是您要找的。
对于第二个问题,error_log函数将把内容写入php的错误日志。如果使用print_r将变量转储到此日志,请确保将print_r的第二个参数设置为true,以输出结果作为返回值。
问题内容: 我将不胜感激创建此查询的任何帮助。我尝试了好几种方法,但都没有碰到运气。由于我的问题很难表达,因此我将举一个我想做的简单例子。我的数据在结构上类似于以下内容: 如果我有两种特定颜色的ID,我想创建一个查询以返回类型。例如,我想查找所有具有蓝色和红色的ID。然后查询将返回: A和B的返回顺序并不重要。数据集很大,我希望有许多ID可以同时满足这两个条件(也许是50,000个左右)。我要指出
问题内容: 我需要让用户输入一个数字以用作范围的开始,然后输入另一个数字作为范围的结束。起始编号必须为0或更大,结束编号不能大于1000。两个数字都必须被10整除。我找到了满足这些条件的方法,但是如果不满足这些条件,我的程序只会告诉用户他们的输入不正确。我是否可以对它进行编码,以便在用户输入后进行检查以确保满足条件,如果条件没有环回,请再次输入。这是我到目前为止的代码。 问题答案: 轻松做:
我需要要求用户输入一个数字作为范围的开始,然后输入另一个数字作为范围的结束。开始数必须大于等于0,结束数不能大于1000。两个数字都必须能被10整除。我已经找到了满足这些条件的方法,但是如果不满足这些条件,我的程序只会告诉用户他们的输入不正确。我是否可以对其进行编码,以便在用户输入后,它将检查以确保满足条件,如果不满足条件,则返回并再次输入。这是我目前掌握的代码。
问题内容: 也许您可以解决一些Ajax问题。 我有AUTO COMPLETE代码-我输入城市名称,该代码会自动为我完成城市名称,还获取城市ID,并应将其放入隐藏的输入字段中(名称=“ cityID”)…但它没有做到这一点。 你能告诉我为什么吗? html代码: 服务器端(仅输出): 脚本: 您可以在这里找到完整的JS: 问题答案: 尝试对ajax_response_city使用div而不是span
我有搜索输入以及下拉存储为li元素。如何向搜索标签添加自动完成功能,从li标签获取数据,并在搜索输入中显示相应的结果。 自动完成程序应从ul li标签中提取内容并执行操作。可以通过li搜索输入标签完成吗?
问题内容: 我有一个简单的php文件,它可以解码我的json字符串,并与ajax一起传递并标记结果,但是我不能保留变量,为什么? 我尝试使用fireBug进行检查,我可以看到POST请求已正确发送,当调用 php 脚本时,他对我做出了Noooooooob的响应,似乎已设置了任何POST变量。 我想要的就是拥有我的数组=) JSON字符串由生成: 的JavaScript save_categorie