 
			
				26.09.2018, 13:17
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.09.2018 
					
					
					
						Сообщений: 3
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				А нельзя ли передавать выбор Select в функцию без AJAX?
			 
			
		
		
		
		Представим, есть Select, в котором выбираем позицию, которая служит параметром для некой функции. 
Чтобы эта функция сработала сразу, поймав этот параметр, а не после перезагрузки страницы, без AJAХ никак не обойтись? 
Существуют ли альтернативы? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.09.2018, 13:59
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Х3 кто
			
		
	 | 
 
	| 
		поймав этот параметр
	 | 
 
	
 
 Функции не ловят параметры, а принимают, которые им передаются. Иначе речь будет идти об обработчике события.
 
	
 
	| 
		
			Сообщение от Х3 кто
			
		
	 | 
 
	| 
		а не после перезагрузки страницы
	 | 
 
	
 
 Это вообще умом не понять, о чем тут речь?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.09.2018, 14:31
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.11.2017 
					
					
					
						Сообщений: 641
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		можно, но данные должны быть в "скрипте" 
<html>
<head>
  <title>Related</title>
</head>
<body>
  <select id="select">
    <option value="1" selected>1</option>
    <option value="2">2</option>
    <option value="3">3</option>
  </select>
  <div id="related"></div>
</body>
<script type="text/javascript">
  document.addEventListener('DOMContentLoaded', function () {
    const select = document.getElementById('select')
    const related = document.getElementById('related')
    const values = {
      1: { title: 'one' },
      2: { title: 'two' },
      3: { title: 'three' },
    }
    function foo(id) {
      return values[id].title
    }
    setHTML = (id) => related.innerHTML = foo(id)
    select.addEventListener('change', function (e) {
      setHTML(e.target.options[e.target.options.selectedIndex].value)
    })
    setHTML(select.options[select.options.selectedIndex].value)
  })
</script>
</html>
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось SuperZen, 26.09.2018 в 15:36.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.09.2018, 14:36
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		SuperZen, 
 добавьте пожалуйста параметр run для запуска примера 
 
[HTML run][/HTML]
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.09.2018, 15:01
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.09.2018 
					
					
					
						Сообщений: 3
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Вот здесь то, что я склепал
			 
			
		
		
		
		Благодарю за интерес к моей теме. 
Вот здесь то, что я склепал:
 http://bushastry.my1.ru/perem05ch.html
После выбора параметра – сообщение о выборе нового параметра.
 
Однако, карта-то не перекрашивается пока.
 
А вот если нажать иконку “Обновить текущую страницу” (речь идет о FireFox), то всё отражается как надо.
 
Но ведь это не годится! 
 
Как же добиться работы по-человечески?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.09.2018, 15:56
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Х3 кто, 
 продублируйте строки   
var pok=sel.options[sel.selectedIndex].value;
                var namepok=sel.options[sel.selectedIndex].text;
в 
 
$('.map g').mouseover(function (e) {
                var region_data=$(this).data('region');
                var pok=sel.options[sel.selectedIndex].value;
                var namepok=sel.options[sel.selectedIndex].text;
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.09.2018, 15:57
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.11.2017 
					
					
					
						Сообщений: 641
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.09.2018, 16:03
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		  по change надо не только pok и namepok менять, но красить блоки заново  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.09.2018, 16:34
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Х3 кто, 
вариант ... замените весь код на это
  
$(function() {
    $("#test").change(function() {
        var pok = this.value;
        var namepok = this.options[this.selectedIndex].text;
        var temp_array = regions.map(function(item) {
            return item[pok]
        });
        var highest_value = Math.max.apply(Math, temp_array);
        regions.forEach(function(el) {
            var title = el.region_name + "<br>" + namepok + " " + el[pok];
            $("#" + el.region_code).css({
                "fill": "rgba(0,255,100," + el[pok] / highest_value + ")"
            }).data("title", title)
        })
    }).change();
    var info_panel = $('<div class="info_panel">').appendTo("body").hide();
    $(".map").on("mouseenter", "g",
        function(e) {
            var title = $(this).data("title");
            info_panel.html(title).show()
        })
    .mouseleave(function() {
        info_panel.hide()
    })
    .mousemove(function(e) {
        var mouseX = e.pageX,
            mouseY = e.pageY;
        info_panel.css({
            top: mouseY - 50,
            left: mouseX - info_panel.width() / 2
        })
    })
});
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				28.09.2018, 08:08
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.09.2018 
					
					
					
						Сообщений: 3
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				всё заработало как надо в FireFox и Chrome
			 
			
		
		
		
		Я немедленно проверил подходы, предлагаемые уважаемыми SuperZen'ом и Рони. 
Ещё позавчера. 
И почтительно поцокал языком, поскольку действительно всё заработало как надо. 
Суда по скорости ответов, все эти подходы уже отработаны и широко известны в кругах HTML/JS/CSS-гуру. 
Всё хорошо работает в FireFox и Chrome. 
А вот IE не отрисовывает карту вообще. 
IE действительно не умеет этого делать? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |