не получается собрать объект

Вопросы по вёрстке и JavaScript
Ответить
yintar
Сообщения: 106
Зарегистрирован: 2014.02.09, 11:27

не получается собрать объект

Сообщение yintar »

Всем привет
Есть таблица.В ней есть 2 поля со встроенными в ячейки [JS]<input type[/JS] (цена и дата) и поле с чекбоксами (для каждой строки свой чекбокс).
Есть кнопка утвердить и когда пользователь нажимает эту кнопку то все строки где пользователь менял цену нужно передать на сервер, причем нужно как-то сделать чтобы поля в каждой строке были связаны.Например пользователь изменил цену в строке где дата 12.06.2015 + состояние чекбокса и надо сделать так чтобы в структуре данных (массив или объект и т.д ) эти данные были связаны типа ключ значение.Ключом может быть например дата.Строк может меняться много но цена+состояние чекбокса каждой строки должны быть связаны.
Проблема в том,что у меня не получается собрать такую структуру данных где можно хранить много строк но значение даты и цены(которую менял пользователь) были бы связаны.
Я пытался делать так(код ниже ),но данные у меня разрознены и никак не связаны т.е. в массиве data получаются отдельные объекты.А мне надо чтобы,например,если пользователь изменил 3 поля с ценой то у меня должно быть в массиве дата 3 объекта.Каждый объект должен иметь ключи для хранения даты,цены и состояния чекбокса для соответствующей строки.
[JS]
$('.corrected_summa').change(function() {//если пользователь изменил цену в ячейке
$(this).parents('tr').attr('update', 'update');//помечаю измененное поле атрибутом,чтобы при нажатии кнопки утвердить отследить те поля кот менялись
});

$('.update_sales_by_month').click(function() {// это клик по кнопке утвердить
var str = {};
$('[update] input').each(function(i, elem) {//обхожу все инпуты таблицы

if ($(this).hasClass("sales_date")) {
str.date = $(this).val();//помещаю в объект дату

}
if ($(this).hasClass("corrected_summa")) {
str.corrected_summa = $(this).val();//помещаю в объект цену

}

data.push(str);//хочу сохранить в массив объект(поля str.date и str.corrected_summa а также состояние чекбокса должны для данной строки должны быть в одном объекте)
});
[/JS]
Подскажите пожалуйста как собрать такой объект или масс
AntonViak
Сообщения: 1
Зарегистрирован: 2015.10.03, 22:31
Контактная информация:

не получается собрать объект

Сообщение AntonViak »

Rumata
Можно было бы и не передавать ссылку на данный объект, ведь есть св-во window.opener. Если есть в parent window объект abs, то на кнопку можно повесить opener.abs.change.
Ответить