Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2015, 18:25
Аватар для sovsem-nub
Профессор
Отправить личное сообщение для sovsem-nub Посмотреть профиль Найти все сообщения от sovsem-nub
 
Регистрация: 15.10.2014
Сообщений: 255

добавить addEventListener, который бы срабатывал при измении содержания select
есть такой пример списка городов http://jsfiddle.net/4fbej3Lp/10/


<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
</head><body>

Введите город прибытия: 
<input type="text" name="opt"></input> <br>
<select id="arrivalPoint"></select>

<script>
var val="Москва";
var data = {q: val};


// This line taken from J50Npi.min.js (within this repo)
var J50Npi={currentScript:null,getJSON:function(b,d,h){var g=b+(b.indexOf("?")+1?"&":"?");var c=document.getElementsByTagName("head")[0];var a=document.createElement("script");var f=[];var e="";this.success=h;d.callback="J50Npi.success";for(e in d){f.push(e+"="+encodeURIComponent(d[e]))}g+=f.join("&");a.type="text/javascript";a.src=g;if(this.currentScript){c.removeChild(currentScript)}c.appendChild(a)},success:null};


var url = 'http://public.services.dellin.ru/autocomplete/?answerType=jsonp&callback=arrivalPointRender';

// We need a function callback to be executed after the response is received
var arrivalPointRender = function(data){
    var html = '', selected = false;
    for(var i = 0; i < data.length; i++){
           if (data[i].inPrice==1){
        html += '<option value="'+data[i].code+'"'+(selected?'':' selected')+'>'+data[i].label+" "+data[i].uString+'</option>'
        selected = false           }
    }
document.getElementById('arrivalPoint').innerHTML = html;



};

J50Npi.getJSON(url, data, arrivalPointRender);

		var      inp = document.querySelector('[name="opt"]');
        inp.addEventListener("input", function() {
val=this.value;
           data = {q: val};  
       
            J50Npi.getJSON(url, data, arrivalPointRender);
        })

        
    document.getElementById('arrivalPoint').addEventListener("change", function() {
alert("город поменялся");
        })      

</script>

</body>
</html>


нужно чтобы алерт появлялся, когда содержимое селекта меняется (а меняется он если менять input), а он появляется только если по нему мышкой кликнуть.
Ответить с цитированием
  #2 (permalink)  
Старый 28.11.2015, 19:37
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

...а меняется он если менять input.

Значит тогда и нужно вставлять этот alert. В строке 39.
Ответить с цитированием
  #3 (permalink)  
Старый 28.11.2015, 19:55
Аватар для sovsem-nub
Профессор
Отправить личное сообщение для sovsem-nub Посмотреть профиль Найти все сообщения от sovsem-nub
 
Регистрация: 15.10.2014
Сообщений: 255

Сообщение от Malleys Посмотреть сообщение
...а меняется он если менять input.

Значит тогда и нужно вставлять этот alert. В строке 39.
если бы было всё так просто....
если туда вставить alert он будет выскакивать на каждой букве в независимости поменялся select или нет. при изменении инпута селект меняется не всегда.
Ответить с цитированием
  #4 (permalink)  
Старый 28.11.2015, 20:05
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

при изменении инпута селект меняется не всегда

.... тогда надо проверять изменился или нет...

http://jsfiddle.net/4fbej3Lp/11/
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Выбранный текст в select при нажатии на кнопку "добавить" появлялся в select'e Адриан Общие вопросы Javascript 2 31.01.2012 13:38
Подбор варианта из списка select при наборе текста omvitamin Элементы интерфейса 6 04.04.2011 14:48
при выборе в 1-ом select соот.-щая инф. отображается в другом select celencer Общие вопросы Javascript 1 24.05.2009 20:38