【问题标题】:JQuery Ajax code not workingJQuery Ajax 代码不起作用
【发布时间】:2013-07-08 13:53:08
【问题描述】:

我希望有人可以帮助我确定我在使用以下 jquery Ajax 代码时遇到的问题。当从下拉列表中选择职员时,下面的 php 文件正在调用 Select 语句。 在输入列表中应该出现工作人员的薪水。不幸的是,什么也没有发生。

   <!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <title>AJAX und PHP ganz einfach!</title>

 <script>
$(document).ready(function() {
    $('.id').change(function() {
        $.ajax({
            type: 'GET',
            url: 'anzeige.php',
            data: 'id=' +$('.id').val(),
            success: function(msg) {
                $('#ajaxAusgabe').html(msg);
                }
        });     
    }); 
}); //document.ready


</script>



<?php
$link = mysql_connect("localhost","sandrag","bubblekey13","staffbridgetest");
if (!$link) {

    die('Could not connect: ' . mysql_error());
}


$db_selected = mysql_select_db("staffbridgetest", $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}
?>
</head>






  <p>Bitte waehlen Sie einen Mitarbeiter:</p>

     <form>

         <select name="id">
         <option value=""></option>
           <?php


$query = mysql_query("SELECT Mitarbeiternummer, Vorname, Nachname FROM mitarbeiter where mitarbeiternummer>0 order by nachname"); 
while ($row = mysql_fetch_array($query)) {
echo '<option value="'.$row['Mitarbeiternummer'].'">'.$row['Nachname'].', '.$row['Vorname'].'</option>';
}
     echo'</select>';

                        ?>


 <div id="ajaxAusgabe"></div>

   </form> 





</script> 



</body>
</html>

这通过 Select 语句连接到另一个 php 文件:

 <?php
$link = mysql_connect("localhost","sandrag","bubblekey13","staffbridgetest");
if (!$link) {

    die('Could not connect: ' . mysql_error());
}


$db_selected = mysql_select_db("staffbridgetest", $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}


$staffid=$_GET['id'];

$sql = "SELECT Stundenlohn from gehalt where mitarbeiternummer='$staffid' limit 1";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
  {

 echo $row['Stundenlohn'];
 }




?>

我真的不知道为什么它不起作用。

【问题讨论】:

  • 你试过用控制台调试吗?
  • $('select[name=id]').change(function() {...})
  • 同时发布 JS PHP 表明您没有努力至少定位问题所在。请进行一些调试,检查 PHP 页面生成的内容等。
  • 控制台没有给我错误
  • .id 是指下拉菜单的选择名称。我也尝试过#id,但没有运气

标签: php jquery mysql ajax


【解决方案1】:

您将事件绑定到应该具有名为“id”的类但没有这样的元素的元素

改变

<select name="id">

 <select name="id" class="id">

它会起作用的。

  • . 用于引用 class=""
  • # 用于引用具有特定 id=""
  • 的元素

您还可以使用 select[name=id] 按名称选择元素。

$('select[name=id]').change(function() { //this will find <select> where attribiute name is equal to "id" and bind change event to it.

你应该阅读更多关于Jquery selectors

【讨论】:

    猜你喜欢
    • 2015-11-17
    • 2019-10-17
    • 2015-03-28
    • 2016-09-19
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    相关资源
    最近更新 更多