簡體   English   中英

jQuery函數在回調時不返回任何內容

[英]jQuery function doesn't return anything on callback

我有一個jQuery函數,它采用表單select元素的selected選項並將其發送到php文件,該文件應該返回html來填充第二個select元素。 不幸的是,jQuery正在觸發,但是返回為空。 有任何想法嗎?

表單元素:

if ($result) {

            echo '<label>*Team: <select name="team" class="team" style=\'width: 150; font-size: 16px;\' autocomplete="off" tabindex="1">';
            echo '<option value="">Select</option>';

            while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
                    echo '<option value="'.$row['TeamID'].'">'.$row['CaptainLast']."  ".date('m-y',strtotime($row['ArrDate'])).'</option>';
            }

            echo '</select></label>';

} else {
            echo "0 results";
}


?>

<label>*Team Member: <select name="member" class="member" style='width: 150; font-size: 16px;' autocomplete="off" tabindex="2">
<option value="">Select</option>
</select></label>

jQuery:

$(document).ready(function(){
    $(document).on('change','.team', function(){
      var id=$(".team option:selected").val();
      var dataString = 'tmid='+ id;
      console.log(dataString);

      $.ajax({
         type: "POST",
         url: "scripts/memfltpop.php",
         data: dataString,
         dataType: 'html',
         success: function(html){
             $(".member").html(html);
         } 
      });

    });
});

和服務器文件:

<?php
$team = $_POST['tmid'];
echo $team;
$con = mysqli_connect('**********', '****', '******', '*******');

if ($con) {
        $sql = "SELECT MemberAdmin.IndID, MemberAdmin.First, MemberAdmin.Last ". "FROM MemberAdmin ". "LEFT JOIN Members ON MemberAdmin.IndID = Members.IndID ". "WHERE Members.TeamID='" .$team. "'";
        $result = mysqli_query($con,$sql) or die(mysqli_error());

        if ($result) {
            while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
                $id=$row['IndID'];
                $data=$row['First']." ".$row['Last'];
                echo '<option value="">Select</option>';
                echo '<option value="'.$id.'">'.$data.'</option>';

            }
        } else {
            echo "0 results";
        }
        }
        else {
            echo'Not connected to database';
        }

為了獲得html中的響應,您需要在ajax請求中使用datatype html,如下所示:

 $.ajax({
     type: "POST",
     url: "scripts/memfltpop.php",
     data: dataString,
     dataType : 'html',
     success: function(html){
         $(".member").html(html);
     } 
  });

哇,找到了 我從沒想過這會導致SQL崩潰,但是我從

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

while($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {

在更新SQL語言時,我錯過了這一行。 多謝你們!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM