这是我的表,它是动态的,我得到了三个具有不同ID的表。
{{#each a}}
{{this.a}} //this is getting printed
{{#each b}}
{{this.b}} //this isn't getting printed
{{/each}}
{{/each}}
我的Javascript是这样的:
<?php
echo "<table class='table table-hover table-bordered' ondrop='drop(event,this)' ondragover='allowDrop(event)' id='".$type."'>";
if(empty($players))
echo "<tr><td></td></tr>";
foreach($players as $p)
{
echo "<tr data-id='".$p['to']."' data-fixture='".$p['fixture']."' data-team='".$p['team']."' draggable='true' ondragstart='drag(event,this)' id='".$type."aa'>";
echo "<td >".$p['name']."</td>";
echo "</tr>";
}
echo "</table>";
?>
将表行从一个表中删除到另一个表时.tr被删除到td而不是表中。
像这样function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev,str) {
//alert(str);
var temp = str.parentNode;
child = temp.children;
if(child.length==1)
{
$(temp).append("<tr><td></td></tr>");
}
ev.dataTransfer.setData("text", ev.target.id);
ev.dataTransfer.setData("val", ev.target.getAttribute('data-id'));
ev.dataTransfer.setData("fixture", ev.target.getAttribute('data-fixture'));
ev.dataTransfer.setData("team", ev.target.getAttribute('data-team'));
}
function drop(ev,str) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
var id = ev.dataTransfer.getData("val");
var fixture = ev.dataTransfer.getData("fixture");
var team = ev.dataTransfer.getData("team");
ev.target.appendChild(document.getElementById(data));
//alert(fixture);
if(str.id=='avl')
status=1;
else if(str.id=='uavl')
status=2;
$.ajax({
url: "<?php echo base_url();?>index.php/teams/update_players/"+status+"/"+id+"/"+fixture+"/"+team,
type: 'GET',
success: function(data) {
//$("#a_p").html(data);
//alert(data);
},
});
}
答案 0 :(得分:0)
您的drop
功能会将孩子附加到ev.target
。尝试使用console.log
检查tagName
ev.target
。如果它是TD
,那那就是你的问题。
请勿在评论部分提供,因为我没有足够的声誉来提交评论。