javascript
  • drag-and-drop
  • html-table
  • rows
  • 2016-09-02 1 views 3 likes 
    3

    Это моя таблица динамическая, с этим я получаю три таблицы с разными идентификаторами.строки таблицы перетаскивания 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>"; 
    ?> 
    

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

    при удалении строки таблицы из одной таблицы в другую .. тр были понижены до т.д не в таблице.

    как этот

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

    ответ

    0

    Ваш drop функция добавляет ребенка ev.target. Попробуйте использовать console.log, чтобы проверить tagName на ev.target. Если это TD, то это ваша проблема.

    Не предоставление этого в разделе комментариев, потому что у меня недостаточно репутации для отправки комментариев.

     Смежные вопросы

    • Нет связанных вопросов^_^