Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Исчезает значение в input в Попапе (https://javascript.ru/forum/misc/69574-ischezaet-znachenie-v-input-v-popape.html)

KolaKola 05.07.2017 10:38

Еще вопросик появился. добавляю в существующую таблицу строку, путём:
window.opener.$('#book-table').prepend('<tr><td>' +
                                            '<img src ="' + masNewbook[3] + '" class="oblojka">'+
                                            '<div class="opisanie">' +
                                                '<h2>'+ masNewbook[0] +'</h2>'+
                                                '<p>'+ masNewbook[1] +'</p>' +
                                                '<h5>'+ masNewbook[2] + '</h5>'+
                                            '</div>'+
                                            '<div class="change-del-block">'+
                                                '<button class="btn change-book">Редактировать</button>'+
                                                '<button class="btn del-book">Удалить</button>' +
                                            '</div>'    +
                                            '</td></tr>');


Строка с данными добавляется, но 2 недочета:
1. Стили для кнопок "Удалить" и "Редактировать" не до конца применяются(одна кнопка не находится выше другой).
2. При нажатии на кнопки не совершаются никакие действия(с уже заранее имеющимися строками в таблице работают корректно).
Можно ли как нибудь это исправить?

P.S.: При обновлении страницы на которой находится таблица, таблица возвращается в исходное состояние

рони 05.07.2017 10:43

KolaKola,
надо смотреть скрипт который инициализирует таблицу и либо его запускать, если предусмотрено добавление, либо изменять изначально этот скрипт, чтоб он видел новые строки.

KolaKola 05.07.2017 10:57

А как это сделать? вот код кнопки редактировать:
$('.change-book').on('click',function () {
       numberTR = $(this).closest('tr').index();

        var windowAdd = window.open("window_change_book.html","Ред",paramsPopup);
        masData = [];


        var nameBook = $('#book-table').find('tr').eq(numberTR).find('td').eq(0).find('h2').html();
        var author = $('#book-table').find('tr').eq(numberTR).find('td').eq(0).find('p').html();
        var year = $('#book-table').find('tr').eq(numberTR).find('td').eq(0).find('h5').html();
        var srcImg = $('#book-table').find('tr').eq(numberTR).find('td').eq(0).find('img').attr('src');

        masData.push(nameBook);
        masData.push(author);
        masData.push(year);
        masData.push(srcImg);
        
        windowAdd.onload = function () {
            windowAdd.document.getElementById('naimenovanie2').value = masData[0];
            windowAdd.document.getElementById('avtor2').value = masData[1];
            windowAdd.document.getElementById('year2').value = masData[2];
            windowAdd.document.getElementById('IMAG2').value = masData[3];
            windowAdd.document.getElementById('indexX').value = numberTR;
        };
    });

а вот кнопки удалить:
$('.del-book').on('click',function () {
        $(this).closest('tr').remove();
    });

рони 05.07.2017 11:40

KolaKola,
изменить клики на
$('#book-table').on('click', '.change-book', function () {})
$('#book-table').on('click', '.del-book', function () {})

KolaKola 05.07.2017 12:00

Получилось, большооое спасибо!


Часовой пояс GMT +3, время: 11:43.