Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.01.2014, 18:24
Аватар для Vikky
Интересующийся
Отправить личное сообщение для Vikky Посмотреть профиль Найти все сообщения от Vikky
 
Регистрация: 31.12.2013
Сообщений: 14

Изменение input в зависимости от другого input (с использованием bootstrap typehead)
Приветствую.

Очередной вопрос с которым бьюсь весь день.. Итак, подключены: jQuery 10.1.1, Bootstrap 3.0.3, Bootstrap 3 Typehead (https://github.com/bassjobsen/Bootstrap-3-Typeahead).

Необходимо: при выборе страны выводить (с помощью Typeahead) только те города, которые к этой стране относятся (т.е. переключать "словарь" Typeahead). Пробовал сделать вот так...

HTML:
<input type="text" class="form-control" id="inputUserEditCountry" placeholder="Страна" value="" data-provide="typeahead" />
<input type="text" class="form-control" id="inputUserEditCity" placeholder="Город" value="" data-provide="typeahead" />

jQuery:
...
...
// Typehead inputUserEditCountry
$('#inputUserEditCountry').typeahead({
	source: ['Россия','Украина','Белоруссия']
});

// Typehead inputUserEditType
$('#inputUserEditCountry').change(function() {
	$('#inputUserEditCity').val('');
	if ($('#inputUserEditCountry').val() === 'Россия') {
		$('#inputUserEditCity').typeahead({
			source: ['Москва','Санкт-Петербург','Екатеринбург']
		});
	}
	else if ($('#inputUserEditCountry').val() === 'Украина') {
		$('#inputUserEditCity').typeahead({
			source: ['Киев','Харьков','Донецк']
		});
	}
	else if ($('#inputUserEditCountry').val() === 'Белоруссия') {
		$('#inputUserEditCity').typeahead({
			source: ['Минск','Брест','Гродно']
		});
	}
});
...
...


НО: при повторном выборе - остаётся старое значение. Иными словами, если выбрать "Россия"->"Москва", а потом выбрать "Украина", то значение городов будут соответствовать "России".

Помогите пожалуйста...

Последний раз редактировалось Vikky, 12.01.2014 в 18:29.
Ответить с цитированием
  #2 (permalink)  
Старый 12.01.2014, 18:44
Аватар для Vikky
Интересующийся
Отправить личное сообщение для Vikky Посмотреть профиль Найти все сообщения от Vikky
 
Регистрация: 31.12.2013
Сообщений: 14

Уфф.. Вопрос решился довольно просто и банально

Нужно было всего лишь добавить вот это:
...
...
$('#inputUserEditCountry').change(function() {
...
	$('#inputUserEditCity').typeahead('destroy');
...
...

Спасибо за внимание, может быть кому-то это тоже поможет!
Ответить с цитированием
  #3 (permalink)  
Старый 13.01.2014, 15:42
Аватар для Vikky
Интересующийся
Отправить личное сообщение для Vikky Посмотреть профиль Найти все сообщения от Vikky
 
Регистрация: 31.12.2013
Сообщений: 14

Теперь столкнулся с другой проблемой: не работает выбор города в FireFox 25+ если выводить список из файла через $.getJSON(). Ошибок в консоле нет, так что даже не знаю куда копать.. В остальных броузерах (Chrome 32+, Opera 18+, IE 9+) - всё работает нормально.

Интересно, что если кликнуть мышкой на предлагаемом варианте страны (после ввода нескольких букв и/или полностью названия страны), то всё отрабатывается на ура! Т.е. ().change для этих броузеров отрабатывается только когда было совершено действие мышкой, а не с клавиатуры. Странно как-то..

Кто-нибудь сталкивался с подобной проблемой? Может быть сам алгоритм (в коде выше) не верный?..

UPD:

Запостил issue разработчику https://github.com/bassjobsen/Bootst...head/issues/19 (включая код) посмотрим, что ответит.

Последний раз редактировалось Vikky, 13.01.2014 в 20:18.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение определенного класа в зависимости от другого wkornilow Events/DOM/Window 9 25.11.2013 18:48
Ширина поля input text в зависимости от количества символов rekon87 (X)HTML/CSS 7 14.06.2013 22:55
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
изменение картинок в зависимости от значения input jump91 Общие вопросы Javascript 2 30.01.2012 09:57
Изменение множества элементов Input по определённом призна Лавсановые Волокна Элементы интерфейса 1 24.12.2010 10:37