Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.03.2011, 09:25
Новичок на форуме
Отправить личное сообщение для ghostik Посмотреть профиль Найти все сообщения от ghostik
 
Регистрация: 14.01.2011
Сообщений: 5

Переименование option в селекте по клику
Всем доброе утро, подскажите как реализовать.
Есть select в котором несколько значений, нужно что бы по нажатию на кнопку innerHTML заменялся на Англоязычное слово, в голову никакие идеи не идут кроме всем дать id и менять innerHTML по клику. Может посоветуете что-то получше? а то мне такой способ не по душе, а в голову ничего не приходит
<select id="length" onChange="convert();" style="display: none;">
			<option value="0.001">Миллиметр</option>
			<option value="0.01" selected="selected">Сантиметр</option>
			<option value="0.1">Дециметр</option>
			<option value="1">Метр</option>
			<option value="1000">Километр</option>
			<option value="0.3048">Фут</option>
			<option value="0.3048/12">Дюйм</option>
			<option value="4828.0417">Лига (Лье)</option>
			<option value="1852">Морская миля</option>
			<option value="2.54e-08">Микродюйм (мкдм)</option>
			<option value="0.3048*5280">Миля</option>
			<option value="0.9144">Ярд</option>
		</select>
Ответить с цитированием
  #2 (permalink)  
Старый 16.03.2011, 09:50
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от ghostik
нужно что бы по нажатию на кнопку innerHTML заменялся на Англоязычное слово
Мая твая не панимайт...
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2011, 09:54
Новичок на форуме
Отправить личное сообщение для ghostik Посмотреть профиль Найти все сообщения от ghostik
 
Регистрация: 14.01.2011
Сообщений: 5

Я хочу сделать кнопку смена языка.
Что бы нажимаешь на неё и Миллиметр, Дециметр итд становились Millimeter, decimeter
Ответить с цитированием
  #4 (permalink)  
Старый 16.03.2011, 09:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

ghostik, вона чё...
У селекта есть коллекция оптионс, пробегая по ней получишь все значения каждого оптион. Т.ч. ИД каждому не понадобится...
Ответить с цитированием
  #5 (permalink)  
Старый 16.03.2011, 10:01
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,569

Само просто:
заведи массив:
var a = {};
a['Millimeter'] = 'Миллиметр';
...

при смене на английский пробегай по своим option, доставай что имеется, ищи соответствие в a и заменяй. Для кнопки "Русский" алгоритм еще проще будет.
Хотя по хорошему спроектируй так чтобы в некую функцию передаешь направление перевода и текущее значение, и получаешь результат
Ответить с цитированием
  #6 (permalink)  
Старый 16.03.2011, 10:02
Новичок на форуме
Отправить личное сообщение для ghostik Посмотреть профиль Найти все сообщения от ghostik
 
Регистрация: 14.01.2011
Сообщений: 5

Спасибо большое! Пойду пытаться)
Ответить с цитированием
  #7 (permalink)  
Старый 16.03.2011, 10:06
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

function translate(rus) {
	var elems = document.getElementById("length").getElementsByTagName("OPTION");
	for (var i = 0; i < elems.length; i++)
		elems[i].innerHTML = translate[rus][elems[i].innerHTML];
}
translate[0] = {
	"Дециметр" : "Decimeter",
	"Миллиметр" : "Millimeter",
	"Ещё что-то" : "И перевод"
};
translate[1] = {
	"Decimeter" : "Дециметр",
	"Millimeter" : "Миллиметр",
	"И перевод" : "Ещё что-то"
};


<input type='button' value='английский' onclick='translate(0)' />
<input type='button' value='русский' onclick='translate(1)' />
Ответить с цитированием
  #8 (permalink)  
Старый 16.03.2011, 10:43
Новичок на форуме
Отправить личное сообщение для ghostik Посмотреть профиль Найти все сообщения от ghostik
 
Регистрация: 14.01.2011
Сообщений: 5

Большое спасибо!! Все получилось!!
Сейчас буду пробовать вынести массив в отдельный файл языковой.
Я думаю просто этот файл нужно вначале подключить, а в нем просто объявить массив.
Все правильно?
Ответить с цитированием
  #9 (permalink)  
Старый 16.03.2011, 10:44
Новичок на форуме
Отправить личное сообщение для ghostik Посмотреть профиль Найти все сообщения от ghostik
 
Регистрация: 14.01.2011
Сообщений: 5

Так и оказалось) дольше писать чем делать, всем огромное спасибо!!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические option в select lurii Элементы интерфейса 10 14.01.2011 11:23
запомнить text из option [MI_nor] Элементы интерфейса 3 28.07.2010 16:35
динамические списки Shaci jQuery 0 14.12.2009 15:03
как тегу option с определенным value присвоить selected kichSman Общие вопросы Javascript 2 24.10.2009 03:14
Вставка текста в textarea после выбора select option modelisto Общие вопросы Javascript 2 14.10.2009 19:27