JQUERY-2个功能不能同时使用

时间:2018-11-23 01:01:42

标签: php jquery

我有一个显示学生成绩的PHP页面,并且可以选择单独更新每行的结果而无需刷新页面。

但是我希望页面上的其余数据得到更新以反映此更改(表底部的总百分比)

我最初创建了AJAX脚本,该脚本提交并更新了一个Div(用于测试以确认其正常工作,以后将其删除),然后我决定要更新页面的其余部分,并在其他地方找到了一个函数这样做吧...

两个函数都可以很好地工作,但是当彼此协同工作时,如果不重新加载整个页面就无法提交数据,我认为这可能是因为我通过包含文件调用了表单,但是当我禁用了refreshtable( ),它仍然可以正常工作。

由于我的JQUERY知识非常有限,我只是在控制台中对其进行了检查,并且没有收到任何错误。

member_data.php中包含的JQUERY:

<script type="text/javascript">
  $(document).ready(function() {
    refreshTable();
    $('.update-results-form').on('submit', function(e) {
      e.preventDefault();

      $.ajax({
        type: $(this).attr('method'),
        url: $(this).attr('action'),
        data: $(this).serialize(),
        success: function(data) {
          // $('#ajax-response').html(data); 
          refreshTable(); 
        }
      });
    });
    function refreshTable(){
      $('#table-holder').load('member_data_table.php', function(){
        setTimeout(refreshTable, 5000);
      });
    }
  });
</script>  

主页面member_data.php:

<?php 

$_SESSION['member'] = $_GET['member'];
$matref = $_SESSION['member'];
$_SESSION['grade'] = $_GET['grade'];
$currentGradeID = $_SESSION['grade'];

include 'DBConnect.php';
$gradesresult = $conn->query("SELECT GradeID, beltcolour, style FROM grades");
?>
Change Grade:
<form action="member_data.php" method="GET"><input type="hidden" name="member" value="<?php echo $matref; ?>" />
  <select name="grade"> 

    <option selected> </option>
    <?php
    if ($gradesresult->num_rows > 0) {
      // output data of each row
      while($row = $gradesresult->fetch_assoc()) {
        echo '<option value="' . $row["GradeID"] .'">' . $row["beltcolour"]. 
      '</option>';
      }
    } else {
      echo "No Grades Found";
    }
    ?>
  </select>
  <input type="submit" value="Change Grade" />
</form>
Name
<div id="ajax-response"></div> 
<div id='table-holder' > 
  <?php
  include 'member_data_table.php';
  ?>
</div>

已包含PHP页面(member_data_table.php):

<table style="width: 50%;" border = "1" cellpadding = "1">
<tbody>
  <tr>
    <td><b>Criteria</b> </td>
    <td><b>Current Result </b></td>
    <td><b>Update Result </b></td>
  </tr>
  <?php
  include 'DBConnect.php';
  $result = $conn->query(" QUERY ");
  /*   $result = $conn->query(" QUERY  "); */

  if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
    ?>
    <tr>
      <td><?php echo $row['criteria']; ?> </td>
      <td><?php echo $row['result']; ?> (<?php echo $row['updated']; ?>)</td>
      <td>
        <div id="result-update"> <form  action="/update_result.php" method="post" class="update-results-form">
          <input type="hidden" name="member" value="<?php echo $matref; ?>" >
          <input type="hidden" name="grade" value="<?php echo $currentGradeID; ?>">
          <input type="hidden" name="criteria" value="<?php echo $row['CriteriaID']; ?>">
          <select name="result" class="dropdown">
            <option selected=""></option>
            <?php  $resultdropdown = $conn->query("SELECT ResultID, result FROM results");
            if ($resultdropdown->num_rows > 0) {
              // output data of each row
              while($row2 = $resultdropdown->fetch_assoc()) {
              e cho '<option value="' . $row2["ResultID"] .'">' . $row2["result"]. '</option>';
              }
              } else {
                echo "No Results Found";
              }
              ?>
          </select><input type="submit" value="update" />
          </form> </div>
        </td> 
      </tr>
    <?php
    }
      } else {
        echo '<tr> <td colspan="3"> No Data Found </td> </tr>';
      }
    ?>
    </tbody>
  </table>

0 个答案:

没有答案