通过Jquery移动表时,Ajax表单数据缺少字段

时间:2018-04-29 04:11:11

标签: javascript jquery html ajax debugging

我想在此前言,我已经在任何地方搜索了一个潜在的解决方案,但没有用。我是这个社区潜伏的时间。

我的Jquery代码有一个非常奇怪的问题。我有一个表单,用于发布复选框的值,以及与其关联的点(如果已选中)。如果只有一个表,则此方法有效。但是,我的要求是在检查时将该行移动到新表中。我的困境在于将行从第一个表移动到第二个表后使第二个表发布点。

以下是这样的:

我的两个表,Mytable和我的Table1,Mytable1将具有以下形式:

    <div class="flex">
        <table id="myTable">
        <tr class="header">
          <th style="width:20%;">Topic</th>
          <th style="width:20%;">Points</th>
        </tr>
            <?php
              $x=0;
              $y=0;
              while($y<sizeof($test['id'])){
                echo "<tr>";
                  echo "<td><input type='textarea' class='points' name='points[]' id='points$x'></textarea>";
                  echo "<input type='checkbox' name='check[]' class='checkbox' id='Checkbox$x' value='".$test['id'][$x]."'></td>";
                  $x++;
                echo "</tr>";
              }
            ?>
       </table> 
       </div>
       <div class="fixed">
         <form id=myform>
        <table id="myTable1">
    <h6>Exam Table</h6>
    <tr class="header">
      <th style="width:20%;">Topic</th>
      <th style="width:20%;">Points</th>
       </tr>
  </table>
  <button type="submit">Submit</button>

      

我的Ajax脚本:

       <script>
       //ajax to submit
        $(function(){
        $("#myform").submit(function(event){
            event.preventDefault();
            $.ajax({
                    url:'maketest.php',
                    type:'POST',
                    data:$(this).serialize(),
                    success:function(result){
                        $("#response").text(result);

                    }
            });
        });
    });

</script>

脚本将行从mytable移动到mytable1:

<script>
     //jquery to move row into another table
     $('body').on('click','#myTable tbody tr td input.checkbox', function(){

    if( $(this).attr('checked')){
    var row = $(this).closest('tr').clone();
     $('#myTable1 tbody').append(row);
         $(this).closest('tr').remove();
    }

});

$('body').on('click','#myTable1 tbody tr td input.checkbox', function(){

    var row = $(this).closest('tr').clone();
     $('#myTable tbody').append(row);
         $(this).closest('tr').remove();

});
</script>

它的两个简单表mytable1是空的,但是使用jquery脚本,它将填充转移的行。移动表的代码是从这个漂亮的jsfiddle中使用的,并决定采用它。行移动和所有内容,但是当我提交表单时,这些点随机地用于某些复选框,但不是全部。

大多数情况下,只会发布复选框值。我不知道如何处理这个问题,以及为什么jquery省略了我的ajax中的要点会有所帮助!!

0 个答案:

没有答案