-3

次の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'];
 }




?>

なぜそれが機能しないのか、私には本当にわかりません。

4

1 に答える 1

3

「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セレクターについてもっと読むべきです

于 2013-07-08T14:03:06.397 に答える