Обновлены несколько <input>с одним и тем же классом CSS вместо одного определенного - PullRequest
3 голосов
/ 27 января 2012

Intro
Реализация компонента календаря в JS.

Вариант использования:
1. Пользователь нажимает наввод, календарь вызывается
2. Пользователь выбирает дату
3. Календарь закрывается и дата переходит к определенному вводу
Проблема:
Одна и та же дата поступает на оба входа

Код:
На странице есть два одинаковых (это требование) ввода:

<input class="date"/>
<input class="date"/>

Слушатели связываются с этими входами следующим образом:

<body onload="FlipCalendar.placeholder('date')"/>

elems[i] это <input>, который передается через функции (в таком порядке):

1. var placeholder = function(className){...}
2. var dateInit = function(calInvoker){...}
3. var selectDay = function(day,calInvoker){...}

Вопрос и ожидания:
Вопрос в том, почему оба <input> с обновляются, когда вызывается календарь для конкретного один ?
Я предполагаю, что ссылка на elems[i] уникальна, но случилось так, что это относится ко всем <input> s на странице.

Демо:
живая демонстрация

PS
Извините за большое количество неструктурированного кода в моей демонстрации.
3 функций, которые я упомянул выше, здесь действительно актуальны.

1 Ответ

1 голос
/ 27 января 2012

Вот рабочий код.

t.addEventListener заменяется на t.onclick.

...