2016-09-02 2 views
3

이것은 동적 인 내 테이블이며 다른 ID를 가진 세 개의 테이블을 얻고 있습니다.자바 스크립트 드래그 앤 드롭 테이블 행

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); 
     }, 
     }); 

} 

다른 하나 개의 테이블에서 테이블 행을 삭제 .. 그럴 테이블에 있지 TD을 떨어있어 :

<?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>"; 
?> 

내 자바 스크립트는 이것이다. 이

<table> 
<tr> 
<td> 
<tr> (this is a dropped row) 
<td></td> 
</tr> 
</td> 
</tr> 
</table> 

답변

0

귀하의 drop 기능과 같은

ev.target에 아이를 추가합니다. console.log을 사용하여 ev.targettagName을 확인하십시오. TD 인 경우 문제가 발생했습니다.

의견을 제출할 때 충분한 평판이 없기 때문에 의견 섹션에 제공하지 않습니다.

관련 문제