Javascript-форум (https://javascript.ru/forum/)
-   Backbone.js (https://javascript.ru/forum/backbone/)
-   -   не изменяется глобальная переменная (https://javascript.ru/forum/backbone/63207-ne-izmenyaetsya-globalnaya-peremennaya.html)

zlodiak 23.05.2016 23:02

не изменяется глобальная переменная
 
помогите пожалуйста найти ошибку

https://github.com/zlodiak/calculator_validation_3

есть форма

при клике по #sizeVisibleToggler значение глобальной переменной APP.shippOptionsSizeState меняется с true на false(и наоборот)

обработчик для этой функции находится здесь: calculator_validation_3/js/project/views/shippOptionsViews.js
в строке 50

в строке 58 этого же файла я сделал для наглядности console.log

проблема в том, что после попытки сабмита формы(кликнуть по #calcSubmitBtn) в файле calculator_validation_3/js/project/views/calcViews.js
в строке 79 тоже при помощи console.log выводится эта глобальная переменная. видно, что её значение не меняется

непонятная ситуация:help:

destus 24.05.2016 11:26

zlodiak,
когда вызываешь jQuery метод html, он вызывает метод empty, который грохает твои обработчики событий в подвьюхах. Как починить читай тут или в книге , стр. 165. Там что-то около 4-5 методов описано :)

zlodiak 24.05.2016 20:51

Цитата:

Сообщение от destus (Сообщение 417460)
zlodiak,
когда вызываешь jQuery метод html, он вызывает метод empty, который грохает твои обработчики событий в подвьюхах. Как починить читай тут или в книге , стр. 165. Там что-то около 4-5 методов описано :)

не понял :) ну допустим, что с вьюхами какие-нибудь проблемы происходят. но это не может влиять на значение глобальной переменной

destus 25.05.2016 06:41

zlodiak,
Посмотрел ещё раз файлы, у тебя в calcViews.js объявляется переменная APP.shippOptionsSizeState, а в shippOptionsViews.js ты изменяешь значение переменной APP.shippOptionsSizesState. Сравни эти две строки и пойми, что ты пропустил символ "s" в Sizes.

zlodiak 25.05.2016 20:45

Цитата:

Сообщение от destus (Сообщение 417560)
zlodiak,
Посмотрел ещё раз файлы, у тебя в calcViews.js объявляется переменная APP.shippOptionsSizeState, а в shippOptionsViews.js ты изменяешь значение переменной APP.shippOptionsSizesState. Сравни эти две строки и пойми, что ты пропустил символ "s" в Sizes.

спасибо. так и есть


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