@NotBad_Bugfix

Как изменить глобальную переменную в функции, чтобы ее значение было изменено и для других функций (js)?

Есть переменные status и ok. Как мы видим по клику они меняют значения и я хочу, чтобы эти значения были измененными и для других функций. То есть кликнули, значение статус установилось допустим в 1, и чтобы такое же значение было и когда я обращаюсь к этой переменной из другой функции, а пока переменная в другой функции естественно возвращает пустоту undefined
$(function() {

			var status, ok;

			$(document).on('click', '.filter', function() {

				if($(this).data('status') != undefined)
			    	status = $(this).data('status');
			    if($(this).data('okay') != undefined)
			    	ok = $(this).data('okay');

				var template = $("#posts").html();

				$.ajax({
					type: "POST",
					url: "/filter",
					data: {
						"status": status,
						"ok": ok
					},
					success: function(result) {
			            $(".posts").html(_.template(template,{ result:result }));
			        }
				});

			});

			$(document).on('click', '#loadmore', function() {

				var template = $("#posts").html();

				$.ajax({
					type: "POST",
					url: "/filter",
					data: {
						"status": status,
						"ok": ok
					},
					success: function(result) {
			            $(".posts").append(_.template(template,{ result:result }));
			        }
				});

			});

		});
  • Вопрос задан
  • 5133 просмотра
Пригласить эксперта
Ответы на вопрос 1
Как-то так:

var status, ok;
$(function() {



			$(document).on('click', '.filter', function() {

				if($(this).data('status') != undefined)
			    	window.status = $(this).data('status');
			    if($(this).data('okay') != undefined)
			    	window.ok = $(this).data('okay');

				var template = $("#posts").html();

				$.ajax({
					type: "POST",
					url: "/filter",
					data: {
						"status": window.status,
						"ok": window.ok
					},
					success: function(result) {
			            $(".posts").html(_.template(template,{ result:result }));
			        }
				});

			});

			$(document).on('click', '#loadmore', function() {

				var template = $("#posts").html();

				$.ajax({
					type: "POST",
					url: "/filter",
					data: {
						"status": window.status,
						"ok": window.ok
					},
					success: function(result) {
			            $(".posts").append(_.template(template,{ result:result }));
			        }
				});

			});

		});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы