Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите решить проблему! (https://javascript.ru/forum/dom-window/69995-pomogite-reshit-problemu.html)

Nexus 03.08.2017 13:42

rdPavel, тут написана причина:
https://learn.javascript.ru/introduc...войство

rdPavel 03.08.2017 18:39

Да

rdPavel 03.08.2017 19:13

Nexus,

Спасибо за инфу!
Почитал, почитал, пока еще не могу догнать точное решение, буду разбираться.
Нужно просто Ваш код доработать...

rdPavel 03.08.2017 20:35

Nexus,

Браузер пишет Uncaught TypeError: невозможно прочитать свойство undefined неопределенного
В HTMLSelectElement.getAvtoList (cp_avto.js: 9)

var countryCode = sel.options[sel.selectedIndex].value;

Rise 03.08.2017 21:52

Цитата:

Сообщение от rdPavel
Браузер пишет Uncaught TypeError: невозможно прочитать свойство undefined неопределенного
В HTMLSelectElement.getAvtoList (cp_avto.js: 9)

Так по русски и пишет?

rdPavel 04.08.2017 08:00

Rise,
Да нет, это перевод.

rdPavel 04.08.2017 08:18

Nexus,
Не могу понять, в одном месте пишет:
Методы addEventListener и removeEventListener являются современным способом назначить или удалить обработчик, и при этом позволяют использовать сколько угодно любых обработчиков.

В другом месте:
addEventListener() для одного и того же объекта с теми же самыми аргументами не дает никакого эффекта - функция-обработчик регистрируется только один раз и повторные вызовы не влияют на порядок вызова обработчиков.

Чего то я недопонимаю :( :-E

Nexus 04.08.2017 09:23

rdPavel, скорее всего речь идет об этом:
<div id="block"></div>
<script>var block=document.getElementById('block'),
i=2;
func=function(){alert(++i);},
block.addEventListener('click',function(){alert(1);},false);
block.addEventListener('click',function(){alert(2);},false);
block.addEventListener('click',func,false);
block.addEventListener('click',func,false);

block.dispatchEvent(new Event('click'));
</script>

Алерт будет вызван только трижды со значениями 1-3, четвертого вызова не произойдет.
Строки 5-6 - навешивание уникальных анонимных функций в кач-ве обработчика.
Строки 7-8 - навешивание одной и той же функции на один и тот же элемент, и на одно и то же событие.

Суть в том, что в строках 5-6 функции-обработчики уникальны, а в строках 7-8 в кач-ве обработчика выступает одна и та же функция, записанная в переменную.

rdPavel 04.08.2017 10:15

Nexus,

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

Еще вопрос:
Почему вот это срабатывает:
<script>
cp_id_387.onclick = function() { alert("Привет"); };
</script>

а

cp_id_387.onclick = function() { onchange="getAvtoList(this)"; };
cp_id_387.onclick = function() { getAvtoList(this); };
cp_id_387.onclick = function() { getAvtoList; };

Ноль эмоций...

Уже что-то запутался я :blink:

rdPavel 04.08.2017 10:28

Короче только такое нашел решение:
Больше в голову ничего не лезет, может я зациклился

<?php
ob_start();
cp_show_form( $category->term_id, $listing );
$select=ob_get_contents();
ob_end_clean();
$select=str_replace('cp_id_387','cp_id_387" onchange="getAvtoList(this)',$select);
$select=str_replace('cp_state','cp_state" onchange="getCityList(this)',$select);
echo $select;
?>

Оба поля Селекта работают на ура.

Не знаю насколько это правильно но пока так.
Нужно проверить на всех браузерах.


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