使用javascript和php创建onChange选择下拉菜单,但它不起作用

问题描述:

我想要做的是创建一个在苏格兰的32个不同位置的下拉式容器,当选择其中一个选项时,例如格拉斯哥,它应该转到显示内容的URL,例如标题,文本,每篇文章在div中WHERE位置=格拉斯哥。使用javascript和php创建onChange选择下拉菜单,但它不起作用

我没有任何错误消息或任何类型的认识,我的代码已经工作,因为当我选择其中一个四下降,它什么也没有。

可以清理并正确填写我到目前为止所做的工作吗?我会非常棒!

这里是我的文件正在使用:

的header.php

<html> 
<head> 
<script src="http://code.jquery.com/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#location').change(function(){ 
      //Retrieve Content from the back-end PHP page, and pass the ID selected 
      var url = 'location.php?location=' + $(this).val(); 
      $('#txtHint').load(url); 
     }); 
    }); 
</script> 

</head> 
<body> 
    <div id="header"> 
     <div class="headerLeftContent"> 
      <select id='location'> 
        <option href="Link to a dynamic page with all the content from glasgow" value="Glasgow">Glasgow</option> 
        <option href="Link to a dynamic page with all the content from x" value="x">x</option> 
        <option href="Link to a dynamic page with all the content from test" value="test">test</option> 
        <option href="Link to a dynamic page with all the content from edinburgh" value="Edinburgh">Edinburgh</option> 
      </select> 
      <div id='txtHint'></div> 
     </div>   
    </div> 

</body> 
</html> 

location.php

<?php 
$connect = mysql_connect('xxxxxx', 'xxxxxx', 'xxxxxx'); 
$select_db = mysql_select_db('xxxxxx'); 

$location = $_REQUEST['location']; 

$query = "SELECT * FROM podContent WHERE location = '.$location.'"; 

while($row = mysql_fetch_array($query)) 
{ 
echo $row['text']; 
} 

mysql_close($connect); 

?> 

并请关于 'SQL注入' 或如何“MySQL的任何意见'应该''PDO'是不需要的,因为我明白这一点,但我现在只是在测试,并会修改这一点。

谢谢。

+0

为什么你的'

+0

这只是为了帮助人们了解我想要做的事情,我希望链接到内容有位置的网址=格拉斯哥或爱丁堡等。 – AyeTry 2013-02-15 21:49:49

+0

啊好的。看看这里的Javascript:http://jsfiddle.net/r5SWJ/并尝试使用'load'形式。注意它是如何使用load的第二个参数来显示AJAX的结果 – Ian 2013-02-15 21:54:50

你似乎有一个错误串连你的MySQL查询中的位置名称,它不匹配任何东西(所以没有什么是echo编辑回来)。更改此:

$query = "SELECT * FROM podContent WHERE location = '.$location.'"; 

$query = "SELECT * FROM podContent WHERE location = '$location'"; 

(除非你有这样的东西在你的数据库.Glasgow. ...)

然后你必须调用mysql_query($query)为阿龙建议。

+0

感谢它的工作。 – AyeTry 2013-02-15 23:12:02

+0

Hellow像@AyeTry一样的问题,但它不帮助我:( – 2014-06-23 02:07:48

您需要使用的mysql_query和资源传递给mysql_fetch_array功能:

$query = "SELECT * FROM podContent WHERE location = '.$location.'"; 
$result = mysql_query($query); 
while($row = mysql_fetch_array($result)) 
{ 
    echo $row['text']; 
} 
+0

是的,这很好,我发现这一点后,我意识到,直接。 – AyeTry 2013-02-15 21:56:00