我想在此前言,我已经在任何地方搜索了一个潜在的解决方案,但没有用。我是这个社区潜伏的时间。
我的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中的要点会有所帮助!!