Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   не получается собрать объект (https://javascript.ru/forum/dom-window/57304-ne-poluchaetsya-sobrat-obekt.html)

yintar 29.07.2015 09:42

не получается собрать объект
 
Всем привет
Есть таблица.В ней есть 2 поля со встроенными в ячейки
<input type
(цена и дата) и поле с чекбоксами (для каждой строки свой чекбокс).
Есть кнопка утвердить и когда пользователь нажимает эту кнопку то все строки где пользователь менял цену нужно передать на сервер, причем нужно как-то сделать чтобы поля в каждой строке были связаны.Например пользователь изменил цену в строке где дата 12.06.2015 + состояние чекбокса и надо сделать так чтобы в структуре данных (массив или объект и т.д ) эти данные были связаны типа ключ значение.Ключом может быть например дата.Строк может меняться много но цена+состояние чекбокса каждой строки должны быть связаны.
Проблема в том,что у меня не получается собрать такую структуру данных где можно хранить много строк но значение даты и цены(которую менял пользователь) были бы связаны.
Я пытался делать так(код ниже ),но данные у меня разрознены и никак не связаны т.е. в массиве data получаются отдельные объекты.А мне надо чтобы,например,если пользователь изменил 3 поля с ценой то у меня должно быть в массиве дата 3 объекта.Каждый объект должен иметь ключи для хранения даты,цены и состояния чекбокса для соответствующей строки.
$('.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 а также состояние чекбокса должны для данной строки должны быть в одном объекте)
            });

Подскажите пожалуйста как собрать такой объект или массив.


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