Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   конкатенация переменной (https://javascript.ru/forum/dom-window/67639-konkatenaciya-peremennojj.html)

yintar 28.02.2017 16:52

конкатенация переменной
 
Здравствуйте!
При событии выбора чекбокса я считываю 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;
                                  });

TestUser013 28.02.2017 19:03

Прочитайте про замыкание...

(function () {
  var param = "";

  setInterval(function () {
    param += "&test=1";
    alert(param);
  }, 5000);
})();


setInterval это ваш .on('change', () => {})


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