【发布时间】:2015-01-03 23:28:43
【问题描述】:
我正在尝试在定向系统中获取有关房间和塔楼的信息。它是一个搜索设备抛出复选框。重点是选择每个选项来过滤从数据库中检索到的信息。
问题是我试图获取的值甚至没有回显,所以我不能在查询中使用它们。另一方面,它们显示在 URL 中,如果我添加一个提交按钮,我可以获取我想要的信息,但这里的想法是在没有按钮的情况下立即获取信息。
这是我正在使用的刷新代码
var auto_refresh = setInterval(
function()
{
$("#results").load("searchroom.php").fadeIn("slow");
}, 1000);
$.ajaxSetup({ cache: false });
这就是我保存在 URL 中选择的值的方式
$('input[type="checkbox"]').on('change', function(e){
var data = $('input[type="checkbox"]').serialize(),
loc = $('<a>', {href:window.location})[0];
$.post('/showbytipo.php?'+data);
if(history.pushState){
history.pushState(null, null, loc.pathname+'?'+data);
}
});
这是 HTML 输入
<form method="GET" action="searchroom.php" id="myform" name="myform">
<p>TIPOLOGIA</p>
<ul>
<li><input class="tipologia" id="tipologia"name="tipologia" type="checkbox" value="services" ><label>Serviços</label></li>
<li><input class="tipologia" name="tipologia" type="checkbox" value="class"><label>class</label></li>
</ul>
<p>TORRE</p>
<ul>
<li><input class="torre" name="torre" value="a" type="checkbox" value="a" ><label>A</label></li>
<li><input class="torre" name="torre" value="b" type="checkbox" value="b"><label>b</label></li>
</ul>
</form>
<div id="results" >
</div>
这是从 url 获取值的 PHP 代码
<?php
include("connect.php");
$tipo=$_GET['tipologia'];
echo $tipo;
$torre=$_GET['torre'];
echo $torre;
//$tipo='services';
$sql = "select * from rooms where tower='$torre' AND floor='$piso' AND typology='$tipo'";
//$sql = "select * from rooms where typology='$tipo'";
$query = mysql_query($sql) or die ("erro na query");
while($row = mysql_fetch_array($query)) {
echo $row["name"];
echo $row["tower"];
echo $row["typology"];
}
echo 'ola';
?>
【问题讨论】:
-
问题是你请求
searchroom.php。您需要将您的 get vars 添加到该网址。即searchroom.php?param1=somval&param2=someOtherVal -
那是个问题,但现在我按照您所说的做了,而且没有 url 中的值,它令人耳目一新。当我更改复选框时,控制台中显示的刷新一次正确,然后再次更改,就好像它没有任何值一样。
标签: javascript php ajax search