конкатенация переменной
Здравствуйте!
При событии выбора чекбокса я считываю 2 параметра $(this).data('f') и $(this).data('o'), далее формирую переменную param param = '&' + $(this).data('f') + '=' + $(this).data('o') и подставляю ее в newLocation.На этом этапе все хорошо и все работает. но когда я кликаю уже по другому чекбоксу, то в переменной param должны остаться предыдущие данные и добавиться новые, т.е. param + param + param и т.д (надо конкатенировать предыдущую переменную param с последующей), а у меня в переменной param остаются данные полученные при последнем клике (оно и понятно при событии onchange значение переменной param обнуляется и записывается новое, а мне надо чтобы при каждом выборе чекбокса происходила конкатенация и в переменной param остались старые данные и добавлялись новые). Подскажите ,пожалуйста, как решить проблему. $('.someproperty').on('change', function () { param = '&' + $(this).data('f') + '=' + $(this).data('o'); newLocation = 'catalog/{/literal}{$cat->url}?cost={$cost}&page=&sort={$sort}&brand={$brand_url}{literal}' + param; window.location = newLocation; }); |
Прочитайте про замыкание...
(function () { var param = ""; setInterval(function () { param += "&test=1"; alert(param); }, 5000); })(); setInterval это ваш .on('change', () => {}) |
Часовой пояс GMT +3, время: 22:00. |