Просмотр полной версии : Исчезает значение в input в Попапе
KolaKola
04.07.2017, 08:07
Здравствуйте! Опишу проблему.
Есть страница, на ней есть кнопка. При нажатии на эту кнопку открывается попап с готовыми input, так же на этой кнопке пытаюсь занести данные в эти input путём:
var windowAdd = window.open("window_add_book.html","Ред",paramsPopup);
windowAdd.document.getElementById('naimenovanie'). value = 500;
но значение появляются и сразу пропадают. Помогите, пожалуйста, не пойму в чем дело.
Dilettante_Pro
04.07.2017, 10:31
KolaKola,
Попробуйте так:
var windowAdd = window.open("window_add_book.html","Ред",paramsPopup);
windowAdd.onload = function() {
windowAdd.document.getElementById('naimenovanie'). value = 500;
};
KolaKola
04.07.2017, 10:49
Спасибо за ответ! Но теперь вообще не выводит :(
вот блок полностью
$('.change-book').on('click',function () {
var windowAdd = window.open("window_add_book.html","Ред",paramsPopup);
window.onload = function(){
windowAdd.document.getElementById('naimenovanie'). value = 500;
};
});
Dilettante_Pro
04.07.2017, 11:35
KolaKola,
Сравните мой код и ваш
KolaKola
04.07.2017, 11:41
Прошу прощения. Спасибо, большое! Получилось
KolaKola
04.07.2017, 15:21
Появился еще вопрос. Как мне из дочернего элемента, добраться до элемента который находится в таблице, которая в свою очередь находится в родительском элементе, вот, что пробовал:
window.parent.$('#book-table').find('tr').eq(numberTR).find('td').eq(0).f ind('h2').innerHTML
window.opener.$('#book-table').find('tr').eq(numberTR).find('td').eq(0).f ind('h2').innerHTML
$('#book-table',window.opener.document).find('tr').eq(numbe rTR).find('td').eq(0).find('h2').innerHTML
Появился еще вопрос. Как мне из дочернего элемента, добраться до элемента который находится в таблице, которая в свою очередь находится в родительском элементе:
$('el').parent().parent().children('table').childr en('.selector');
только селекторы свои укажите.
KolaKola
04.07.2017, 15:56
Извините, но я не понял :(
j0hnik,
ему до родительского окна достучатся надо.
KolaKola,
нет в jquery innerHTML есть html()
KolaKola
04.07.2017, 17:13
Спасибо! Подошло:
window.opener.$('#book-table').find('tr').eq(numberTR).find('td').eq(0).f ind('h2').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.: При обновлении страницы на которой находится таблица, таблица возвращается в исходное состояние
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).f ind('h2').html();
var author = $('#book-table').find('tr').eq(numberTR).find('td').eq(0).f ind('p').html();
var year = $('#book-table').find('tr').eq(numberTR).find('td').eq(0).f ind('h5').html();
var srcImg = $('#book-table').find('tr').eq(numberTR).find('td').eq(0).f ind('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();
});
KolaKola,
изменить клики на
$('#book-table').on('click', '.change-book', function () {})
$('#book-table').on('click', '.del-book', function () {})
KolaKola
05.07.2017, 12:00
Получилось, большооое спасибо!
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot