2016-09-02 9 views
3

これは私のテーブルです。このテーブルは動的で、これは異なるIDを持つ3つのテーブルを取得しています。JavaScriptのドラッグ&ドロップテーブルの行

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

} 

別のテーブルからテーブルの行をドロップ.. TRテーブルにない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>"; 
?> 

私のJavascriptがこれです。この

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

答えて

0

あなたdrop機能などの

ev.targetに子を追加します。 console.logを使用してev.targettagNameを確認してください。それがTDなら、それはあなたの問題です。

私はコメントを投稿することで十分な評判がないので、コメントセクションにはこれを入力しません。

関連する問題