Удаление строк таблицы с использованием JQuery и PHP - PullRequest
0 голосов
/ 27 июня 2011

Я новичок в PHP, Javascript и AJAX, поэтому извините, если это простой вопрос. Я работаю над плагином; В этом плагине я разрабатываю таблицу на PHP. Пользователи могут добавлять ссылки на определенный виджет для отображения на своей домашней странице. Я пытаюсь сделать функцию с Javascript и AJAX, которая удаляет строки из их списка и базы данных. Я пытаюсь назначить каждому TR уникальный идентификатор, но я не уверен, как это сделать .. вот мой код:

<table id="links" width="350px" border="1">
    <tr>
        <td></td>
        <td><b>Display</b></td>
        <td><b>Link *</b></td>
        <?php       

        if ( isset($_POST['links']) ) {

            $displays = $_POST['displays'];
            $links = $_POST['links'];
            $domain = $_POST['domain'];

            foreach($links as $i => $link) {
                if ( empty($displays[$i]) )
                    $displays[$i] = "";
                if( empty($links[$i]))
                    unset($links[$i]);

            }


            $autodomain = array('displays' => $displays, 'links' => $links, 'domain' => $domain);

            $options = get_option("autodomain_links") or array();
            $options[] = $autodomain;
            //$dump = array();
            update_option("autodomain_links",  $options);

        }
        $options = get_option("autodomain_links");

        if ($options) {

            foreach($options as $option) if ($tmp++ < 15) {

                $displays = $option['displays'];
                $links = $option['links'];
                $domain = $option['domain'];
                foreach($links as $i => $link) 
                {
                    echo '<tr>';
                    echo '<td><a href="#" class="delete"/><img alt="" border="0" src="https://jarkin.its-express-tst.syr.edu/wp-content/uploads/2011/06/delete.png" /></a></td>';
                    echo '<td>' . $displays[$i] . '</td>';
                    echo '<td>' . $link . ' ' . $domain . '</td>';
                    echo '</tr>';
                ;

                }

            }

        }


        ?>

</table>

Вот Javascript / AJAX:

<script type="text/javascript" >
$(document).ready(function()
        {
            $('table#links td a.delete'').click(function()
            {
                if (confirm("Are you sure you want to delete this row?"))
                {
                    var id = $(this).parent().parent().attr('id');
                    var data = 'id=' + id ;
                    var parent = $(this).parent().parent();

                    $.ajax(
                    {
                           type: "POST",
                           url: "delete_row.php",
                           data: data,
                           cache: false,

                           success: function()
                           {
                                parent.fadeOut('slow', function() {$(this).remove();});
                           }
                     });                
                }
            });
        });
</script>

Javascript / ajax использует идентификатор таблицы и идентификатор TR в качестве родительского для идентификации строки - но поскольку я использую PHP, я не знаю, как генерировать уникальные идентификаторы для каждого из TR.

Ответы [ 2 ]

2 голосов
/ 27 июня 2011

Вы можете определить это как $i:

       foreach($links as $i => $link) 
        {
            echo '<tr id="id_'.$i.'">'; //<--here
            echo '<td><a href="#" class="delete"/><img alt="" border="0" src="https://jarkin.its-express-tst.syr.edu/wp-content/uploads/2011/06/delete.png" /></a></td>';
            echo '<td>' . $displays[$i] . '</td>';
            echo '<td>' . $link . ' ' . $domain . '</td>';
            echo '</tr>';
        ;

        }

Тогда идентификатор каждой строки id_{rowNumber}

0 голосов
/ 27 июня 2011

Вы можете использовать функцию типа mt_rand() для генерации уникальной строки для каждой строки.Или просто используйте счетчик, чтобы сгенерировать ряд чисел для строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...