dataTable demos, fetch data when drag element on it

<!DOCTYPE html>

<html lang="en" class="dark">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>DataTables with jQuery UI Theme Switcher</title>

    <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" id="theme-link">

    <link rel="stylesheet" href="https://cdn.datatables.net/1.13.1/css/jquery.dataTables.min.css">

    <script src="./js/jquery-3.6.0.min.js"></script>

    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>

    <script src="https://cdn.datatables.net/1.13.1/js/jquery.dataTables.min.js"></script>

    <script src="https://cdn.datatables.net/1.13.1/js/dataTables.jqueryui.min.js"></script>

    <link rel="stylesheet" href="https://cdn.datatables.net/1.13.1/css/dataTables.jqueryui.min.css">

</head>

<style>

    body {

        background-color: #323232;

        color: bisque;

        font-size: 12px;

        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

    }

    #draggable {

        width: 100px;

        height: 50px;

        background-color: rgba(131, 89, 209, 0.856);

        border: 1px solid #000;

        text-align: center;

        line-height: 50px;

        cursor: move;

    }

    .highlight {

        /* background-color: yellow; */

        /* border: 2px solid #dba339d0; */

        margin: 2px;

        color: rgb(236, 218, 49);

        font-size: 13px;

        z-index: 999;

    }

</style>

<body>

    <div>

        <label for="theme-selector">Select Theme: </label>

        <select id="theme-selector">

            <option value="base">Base</option>

            <option value="ui-lightness">UI Lightness</option>

            <option value="ui-darkness">UI Darkness</option>

            <option value="smoothness">Smoothness</option>

            <option value="start">Start</option>

            <option value="redmond">Redmond</option>

            <option value="sunny">Sunny</option>

            <option value="overcast">Overcast</option>

            <option value="le-frog">Le Frog</option>

            <option value="flick">Flick</option>

        </select>

    </div>

    <div id="draggable" draggable="true">Drag me</div>

    <table id="example" class="display compact" style="width:100%">

        <thead>

            <tr>

                <th>Name</th>

                <th>Position</th>

                <th>Office</th>

                <th>Age</th>

                <th>Start date</th>

                <th>Salary</th>

            </tr>

        </thead>

        <tbody>

            <tr>

                <td>Tiger Nixon</td>

                <td>System Architect</td>

                <td>Edinburgh</td>

                <td>61</td>

                <td>2011-04-25</td>

                <td>$320,800</td>

            </tr>

            <tr>

                <td>Garrett Winters</td>

                <td>Accountant</td>

                <td>Tokyo</td>

                <td>63</td>

                <td>2011-07-25</td>

                <td>$170,750</td>

            </tr>

            <tr>

                <td>Ashton Cox</td>

                <td>Junior Technical Author</td>

                <td>San Francisco</td>

                <td>66</td>

                <td>2009-01-12</td>

                <td>$86,000</td>

            </tr>

            <tr>

                <td>Cedric Kelly</td>

                <td>Senior Javascript Developer</td>

                <td>Edinburgh</td>

                <td>22</td>

                <td>2012-03-29</td>

                <td>$433,060</td>

            </tr>

            <tr>

                <td>Airi Satou</td>

                <td>Accountant</td>

                <td>Tokyo</td>

                <td>33</td>

                <td>2008-11-28</td>

                <td>$162,700</td>

            </tr>

            <tr>

                <td>Brielle Williamson</td>

                <td>Integration Specialist</td>

                <td>New York</td>

                <td>61</td>

                <td>2012-12-02</td>

                <td>$372,000</td>

            </tr>

            <tr>

                <td>Herrod Chandler</td>

                <td>Sales Assistant</td>

                <td>San Francisco</td>

                <td>59</td>

                <td>2012-08-06</td>

                <td>$137,500</td>

            </tr>

            <tr>

                <td>Rhona Davidson</td>

                <td>Integration Specialist</td>

                <td>Tokyo</td>

                <td>55</td>

                <td>2010-10-14</td>

                <td>$327,900</td>

            </tr>

            <tr>

                <td>Colleen Hurst</td>

                <td>Javascript Developer</td>

                <td>San Francisco</td>

                <td>39</td>

                <td>2009-09-15</td>

                <td>$205,500</td>

            </tr>

            <tr>

                <td>Sonya Frost</td>

                <td>Software Engineer</td>

                <td>Edinburgh</td>

                <td>23</td>

                <td>2008-12-13</td>

                <td>$103,600</td>

            </tr>

            <tr>

                <td>Jena Gaines</td>

                <td>Office Manager</td>

                <td>London</td>

                <td>30</td>

                <td>2008-12-19</td>

                <td>$90,560</td>

            </tr>

            <tr>

                <td>Quinn Flynn</td>

                <td>Support Lead</td>

                <td>Edinburgh</td>

                <td>22</td>

                <td>2013-03-03</td>

                <td>$342,000</td>

            </tr>

            <tr>

                <td>Charde Marshall</td>

                <td>Regional Director</td>

                <td>San Francisco</td>

                <td>36</td>

                <td>2008-10-16</td>

                <td>$470,600</td>

            </tr>

            <tr>

                <td>Haley Kennedy</td>

                <td>Senior Marketing Designer</td>

                <td>London</td>

                <td>43</td>

                <td>2012-12-18</td>

                <td>$313,500</td>

            </tr>

            <tr>

                <td>Tatyana Fitzpatrick</td>

                <td>Regional Director</td>

                <td>London</td>

                <td>19</td>

                <td>2010-03-17</td>

                <td>$385,750</td>

            </tr>

            <tr>

                <td>Michael Silva</td>

                <td>Marketing Designer</td>

                <td>London</td>

                <td>66</td>

                <td>2012-11-27</td>

                <td>$198,500</td>

            </tr>

            <tr>

                <td>Paul Byrd</td>

                <td>Chief Financial Officer (CFO)</td>

                <td>New York</td>

                <td>64</td>

                <td>2010-06-09</td>

                <td>$725,000</td>

            </tr>

            <tr>

                <td>Gloria Little</td>

                <td>Systems Administrator</td>

                <td>New York</td>

                <td>59</td>

                <td>2009-04-10</td>

                <td>$237,500</td>

            </tr>

            <tr>

                <td>Bradley Greer</td>

                <td>Software Engineer</td>

                <td>London</td>

                <td>41</td>

                <td>2012-10-13</td>

                <td>$132,000</td>

            </tr>

            <tr>

                <td>Dai Rios</td>

                <td>Personnel Lead</td>

                <td>Edinburgh</td>

                <td>35</td>

                <td>2012-09-26</td>

                <td>$217,500</td>

            </tr>

            <tr>

                <td>Jenette Caldwell</td>

                <td>Development Lead</td>

                <td>New York</td>

                <td>30</td>

                <td>2011-09-03</td>

                <td>$345,000</td>

            </tr>

            <tr>

                <td>Yuri Berry</td>

                <td>Chief Marketing Officer (CMO)</td>

                <td>New York</td>

                <td>40</td>

                <td>2009-06-25</td>

                <td>$675,000</td>

            </tr>

            <tr>

                <td>Caesar Vance</td>

                <td>Pre-Sales Support</td>

                <td>New York</td>

                <td>21</td>

                <td>2011-12-12</td>

                <td>$106,450</td>

            </tr>

            <tr>

                <td>Doris Wilder</td>

                <td>Sales Assistant</td>

                <td>Sydney</td>

                <td>23</td>

                <td>2010-09-20</td>

                <td>$85,600</td>

            </tr>

            <tr>

                <td>Angelica Ramos</td>

                <td>Chief Executive Officer (CEO)</td>

                <td>London</td>

                <td>47</td>

                <td>2009-10-09</td>

                <td>$1,200,000</td>

            </tr>

            <tr>

                <td>Gavin Joyce</td>

                <td>Developer</td>

                <td>Edinburgh</td>

                <td>42</td>

                <td>2010-12-22</td>

                <td>$92,575</td>

            </tr>

            <tr>

                <td>Jennifer Chang</td>

                <td>Regional Director</td>

                <td>Singapore</td>

                <td>28</td>

                <td>2010-11-14</td>

                <td>$357,650</td>

            </tr>

            <tr>

                <td>Brenden Wagner</td>

                <td>Software Engineer</td>

                <td>San Francisco</td>

                <td>28</td>

                <td>2011-06-07</td>

                <td>$206,850</td>

            </tr>

            <tr>

                <td>Fiona Green</td>

                <td>Chief Operating Officer (COO)</td>

                <td>San Francisco</td>

                <td>48</td>

                <td>2010-03-11</td>

                <td>$850,000</td>

            </tr>

            <tr>

                <td>Shou Itou</td>

                <td>Regional Marketing</td>

                <td>Tokyo</td>

                <td>20</td>

                <td>2011-08-14</td>

                <td>$163,000</td>

            </tr>

            <tr>

                <td>Michelle House</td>

                <td>Integration Specialist</td>

                <td>Sydney</td>

                <td>37</td>

                <td>2011-06-02</td>

                <td>$95,400</td>

            </tr>

            <tr>

                <td>Suki Burks</td>

                <td>Developer</td>

                <td>London</td>

                <td>53</td>

                <td>2009-10-22</td>

                <td>$114,500</td>

            </tr>

            <tr>

                <td>Prescott Bartlett</td>

                <td>Technical Author</td>

                <td>London</td>

                <td>27</td>

                <td>2011-05-07</td>

                <td>$145,000</td>

            </tr>

            <tr>

                <td>Gavin Cortez</td>

                <td>Team Leader</td>

                <td>San Francisco</td>

                <td>22</td>

                <td>2008-10-26</td>

                <td>$235,500</td>

            </tr>

            <tr>

                <td>Martena Mccray</td>

                <td>Post-Sales support</td>

                <td>Edinburgh</td>

                <td>46</td>

                <td>2011-03-09</td>

                <td>$324,050</td>

            </tr>

            <tr>

                <td>Unity Butler</td>

                <td>Marketing Designer</td>

                <td>San Francisco</td>

                <td>47</td>

                <td>2009-12-09</td>

                <td>$85,675</td>

            </tr>

            <tr>

                <td>Howard Hatfield</td>

                <td>Office Manager</td>

                <td>San Francisco</td>

                <td>51</td>

                <td>2008-12-16</td>

                <td>$164,500</td>

            </tr>

            <tr>

                <td>Hope Fuentes</td>

                <td>Secretary</td>

                <td>San Francisco</td>

                <td>41</td>

                <td>2010-02-12</td>

                <td>$109,850</td>

            </tr>

            <tr>

                <td>Vivian Harrell</td>

                <td>Financial Controller</td>

                <td>San Francisco</td>

                <td>62</td>

                <td>2009-02-14</td>

                <td>$452,500</td>

            </tr>

            <tr>

                <td>Timothy Mooney</td>

                <td>Office Manager</td>

                <td>London</td>

                <td>37</td>

                <td>2008-12-11</td>

                <td>$136,200</td>

            </tr>

            <tr>

                <td>Jackson Bradshaw</td>

                <td>Director</td>

                <td>New York</td>

                <td>65</td>

                <td>2008-09-26</td>

                <td>$645,750</td>

            </tr>

            <tr>

                <td>Olivia Liang</td>

                <td>Support Engineer</td>

                <td>Singapore</td>

                <td>64</td>

                <td>2011-02-03</td>

                <td>$234,500</td>

            </tr>

            <tr>

                <td>Bruno Nash</td>

                <td>Software Engineer</td>

                <td>London</td>

                <td>38</td>

                <td>2011-05-03</td>

                <td>$163,500</td>

            </tr>

            <tr>

                <td>Sakura Yamamoto</td>

                <td>Support Engineer</td>

                <td>Tokyo</td>

                <td>37</td>

                <td>2009-08-19</td>

                <td>$139,575</td>

            </tr>

            <tr>

                <td>Thor Walton</td>

                <td>Developer</td>

                <td>New York</td>

                <td>61</td>

                <td>2013-08-11</td>

                <td>$98,540</td>

            </tr>

            <tr>

                <td>Finn Camacho</td>

                <td>Support Engineer</td>

                <td>San Francisco</td>

                <td>47</td>

                <td>2009-07-07</td>

                <td>$87,500</td>

            </tr>

            <tr>

                <td>Serge Baldwin</td>

                <td>Data Coordinator</td>

                <td>Singapore</td>

                <td>64</td>

                <td>2012-04-09</td>

                <td>$138,575</td>

            </tr>

            <tr>

                <td>Zenaida Frank</td>

                <td>Software Engineer</td>

                <td>New York</td>

                <td>63</td>

                <td>2010-01-04</td>

                <td>$125,250</td>

            </tr>

            <tr>

                <td>Zorita Serrano</td>

                <td>Software Engineer</td>

                <td>San Francisco</td>

                <td>56</td>

                <td>2012-06-01</td>

                <td>$115,000</td>

            </tr>

            <tr>

                <td>Jennifer Acosta</td>

                <td>Junior Javascript Developer</td>

                <td>Edinburgh</td>

                <td>43</td>

                <td>2013-02-01</td>

                <td>$75,650</td>

            </tr>

            <tr>

                <td>Cara Stevens</td>

                <td>Sales Assistant</td>

                <td>New York</td>

                <td>46</td>

                <td>2011-12-06</td>

                <td>$145,600</td>

            </tr>

            <tr>

                <td>Hermione Butler</td>

                <td>Regional Director</td>

                <td>London</td>

                <td>47</td>

                <td>2011-03-21</td>

                <td>$356,250</td>

            </tr>

            <tr>

                <td>Lael Greer</td>

                <td>Systems Administrator</td>

                <td>London</td>

                <td>21</td>

                <td>2009-02-27</td>

                <td>$103,500</td>

            </tr>

            <tr>

                <td>Jonas Alexander</td>

                <td>Developer</td>

                <td>San Francisco</td>

                <td>30</td>

                <td>2010-07-14</td>

                <td>$86,500</td>

            </tr>

            <tr>

                <td>Shad Decker</td>

                <td>Regional Director</td>

                <td>Edinburgh</td>

                <td>51</td>

                <td>2008-11-13</td>

                <td>$183,000</td>

            </tr>

            <tr>

                <td>Michael Bruce</td>

                <td>Javascript Developer</td>

                <td>Singapore</td>

                <td>29</td>

                <td>2011-06-27</td>

                <td>$183,000</td>

            </tr>

            <tr>

                <td>Donna Snider</td>

                <td>Customer Support</td>

                <td>New York</td>

                <td>27</td>

                <td>2011-01-25</td>

                <td>$112,000</td>

            </tr>

            <!-- Add more rows as needed -->

        </tbody>

    </table>

    <script>

        $(document).ready(function () {

            let table = $('#example').DataTable();

            table.on('click', 'tbody tr', function (e) {

                // e.currentTarget.classList.toggle('selected');

                // //alert(table.rows('.selected').data().length + ' row(s) selected');

                // console.log(JSON.stringify(table.rows('.selected').data()["0"], null, 2));

                // e.currentTarget.classList.toggle('selected');

            });

            // $('tbody tr').click(function (e) {

            //     if (!e.detail || e.detail == 1) {

            //         $(this).toggleClass('selected');

            //         var selected = table.rows('.selected').data();

            //         console.log(JSON.stringify(table.rows('.selected').data()["0"], null, 2));

            //     }

            // });

            table.on('click', 'tbody tr', function () {

                let data = table.row(this).data();

                //alert('You clicked on ' + data + "'s row");

            });

            $('#theme-selector').on('change', function () {

                var theme = $(this).val();

                var themeLink = $('#theme-link');

                var newHref = `https://code.jquery.com/ui/1.12.1/themes/${theme}/jquery-ui.css`;

                themeLink.attr('href', newHref);

            });

            let draggedElement = null;

            // Handle drag start

            $('#draggable').on('dragstart', function (event) {

                draggedElement = event.target;

                event.originalEvent.dataTransfer.setData('text/plain', 'draggedElement');

            });

            // Handle drag over and drop on table rows

            $('#example tbody').on('dragover', 'tr', function (event) {

                event.preventDefault();

                $(this).addClass('highlight');

            });

            $('#example tbody').on('dragleave', 'tr', function () {

                $(this).removeClass('highlight');

            });

            $('#example tbody').on('drop', 'tr', function (event) {

                event.preventDefault();

                $(this).removeClass('highlight');

                const rowData = table.row(this).data();

                alert(`Dropped on row with data: ${JSON.stringify(rowData)}`);

               

                // Handle the drop action

                handleDrop(rowData);

            });

            function handleDrop(data) {

                // Custom logic to handle the dropped data

                console.log('Data from dropped row:', data);

            }

            // Function to update a specific cell value

            function updateCellValue(rowIndex, colIndex, newValue) {

                // Get the row node

                const rowNode = table.row(rowIndex).node();

                // Use the cell() method to update the cell

                table.cell(rowNode, colIndex).data(newValue).draw();

                // Optional: Highlight the updated cell for a moment

                $(table.cell(rowNode, colIndex).node()).addClass('highlight');

                setTimeout(() => {

                    $(table.cell(rowNode, colIndex).node()).removeClass('highlight');

                }, 2000);

            }

            $('#example tbody').on('click', 'td', function () {

                const cell = table.cell(this);

                const rowIdx = cell.index().row;

                const colIdx = cell.index().column;

                updateCellValue(rowIdx, 3, "aric");

                //alert(`Row index: ${rowIdx}\nColumn index: ${colIdx}`);

            });

        });

    </script>

</body>

</html>

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值