Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 40
1

Как скрыть данные getJson?

21.12.2016, 18:51. Просмотров 965. Ответов 5
Метки нет (Все метки)

Добрый день! При установке галочки данные из сформированного массива меток загружаются на карту, но как теперь при снятии "галки" сделать удаление массива?
change работает также как click: массив появляется но не уходит

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
$(document).ready(function(){                          
      $('#AGZS').click(function() {
    
 var dataagzs = jQuery.getJSON('...layout.php', function (json) {
            var geoObjects = ym.geoQuery(json)
                    .addToMap(myMap)
                    .applyBoundsToMap(myMap, {
                        checkZoomRange: true
                    });
                });
            });
        });
Дайте плиз совет, не нашел подобного....
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2016, 18:51
Ответы с готовыми решениями:

$.getJSON не получает данные
Доброго времени суток! Делаю выборку данных с помощью календаря в БД, задаю дату начал и конца,...

GetJSON не подтягивает данные с контролера
Добрый день. Пишу в ASp.NET MVC 5 Хочу сделать простейший пример данные с контролера передать в...

Как формируется запрос у jQuery.getJSON ?
Подскажите, не могу понять откуда берется часть урла. Вот функция: function BWGet() {...

GetJson работает не так, как надо
$.getJSON('mark.php', function(data) { $.each(data, function(lat, lng){ var marker = new...

5
1014 / 731 / 413
Регистрация: 23.08.2015
Сообщений: 1,960
21.12.2016, 19:55 2
AlexCar,
Javascript
1
2
3
4
5
6
7
$('#AGZS').change(function() {
  if (this.checked) {
    //добавляем
  } else {
    //удаляем
  }
})
0
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 40
22.12.2016, 02:34  [ТС] 3
спасибо!
только вот не нахожу ответ

Javascript
1
2
3
else {
    // непонятно, что здесь писать!
}
0
1014 / 731 / 413
Регистрация: 23.08.2015
Сообщений: 1,960
22.12.2016, 14:43 4
Лучший ответ Сообщение было отмечено AlexCar как решение

Решение

AlexCar,
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(document).ready(function() {
  var geoObjects;
  $('#AGZS').change(function() {
    if (this.checked) {
      $.getJSON('...layout.php', function(json) {
        geoObjects = ym.geoQuery(json)
          .addToMap(myMap)
          .applyBoundsToMap(myMap, {
            checkZoomRange: true
          });
      });
    } else if (geoObjects) {
      geoObjects.removeFromMap(myMap);
    }
  });
});
0
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 40
22.12.2016, 14:58  [ТС] 5
sad67man,
Спасибо, работает!
Заковыристо!
Я со своей "скоростью" пилил бы это очень долго!
0
1014 / 731 / 413
Регистрация: 23.08.2015
Сообщений: 1,960
22.12.2016, 15:19 6
AlexCar, Единственный момент, если быстро повесить и снять галочку, то аякс может все-равно отработать. Я бы еще добавил, чтоб при снятии галочки убивался аякс запрос. Делается это как-то так
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
(function() {
  var geoObjects;
  var ajax;
  $('#AGZS').change(function() {
    if (this.checked) {
      ajax = jQuery.getJSON('...layout.php', function(json) {
        geoObjects = ym.geoQuery(json)
          .addToMap(myMap)
          .applyBoundsToMap(myMap, {
            checkZoomRange: true
          });
      });
    } else {
      if (ajax) {
        ajax.abort();
        ajax = null;
      }
      if (geoObjects) {
        geoObjects.removeFromMap(myMap);
      }
    }
  });
})()
Добавлено через 15 минут
AlexCar, Еще один момент. Если у вас при аякс запросе предполагается один и тот же ответ. То может быть не стоит каждый раз делать запрос?
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
(function() {
  var geoObjects;
  var ajax;
  $('#AGZS').change(function() {
    if (!this.checked) {
      if (ajax) {
        ajax.abort();
        ajax = null;
      }
      if (geoObjects) {
        geoObjects.removeFromMap(myMap);
      }
      return false;
    }
 
    if (geoObjects) {
      geoObjects.addToMap(myMap).applyBoundsToMap(myMap, {
        checkZoomRange: true
      });
      return false;
    }
 
    ajax = jQuery.getJSON('...layout.php', function(json) {
      geoObjects = ym.geoQuery(json)
        .addToMap(myMap)
        .applyBoundsToMap(myMap, {
          checkZoomRange: true
        });
    });
 
  });
})()
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2016, 15:19

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как использовать setInterval с getJSON, чтобы новый запрос не создавался, пока не отвечен предыдущий?
Есть страничка, которая раз в полсекунды запрашивает события (проходы сотрудников через электронную...

Скрыть данные в iframe
Подскажите, пожалуйста. как скрыть блок в iFram`e. Код страницы: <iframe id="ifr"...

Скрыть данные при двойном нажатии на radio
Добрый день. В данном куске html кода, когда checked стоит на "Другие данные" то появляются доп....

$.ajax и $.getJSON
Дорогие друзья, расскажите дураку пожалуйста, в чем разница этих конструкций? В итоге они забирают...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.