Javascript.RU

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

Два селекта на сравнении
Набросал такой код, вернее форму со скриптом:
Код:
<div align="center"><form name="calcForm">
<script>
function language(){
chto=document.getElementById('lang11').value;
if(chto=='l1rus'){
document.calcForm.lang2.options.length=0;
document.calcForm.lang2.options[0]=new Option("---", "0", true, false);
document.calcForm.lang2.options[1]=new Option("Английский", "l2eng", false, false);
document.calcForm.lang2.options[2]=new Option("Немецкий", "l2deu", false, false);
document.calcForm.lang2.options[3]=new Option("Французский", "l2fra", false, false);
}
if(chto=='l1eng'){
document.calcForm.lang2.options.length=0;
document.calcForm.lang2.options[0]=new Option("---", "0", true, false);
document.calcForm.lang2.options[1]=new Option("Русский", "l2rus", false, false);
}
if(chto=='l1deu'){
document.calcForm.lang2.options.length=0;
document.calcForm.lang2.options[0]=new Option("---", "0", true, false);
document.calcForm.lang2.options[1]=new Option("Русский", "l2rus", false, false);
}
if(chto=='l1fra'){
document.calcForm.lang2.options.length=0;
document.calcForm.lang2.options[0]=new Option("---", "0", true, false);
document.calcForm.lang2.options[1]=new Option("Русский", "l2rus", false, false);
}
}
</script>
<n>Перевести с </n>
<select name="lang1" id="lang11" size="1" onchange="language()">
<option value="0">---</option>
<option name="l1rus" value="l1rus">Русского</option>
<option name="l1eng" value="l1eng">Английского</option>
<option name="l1deu" value="l1deu">Немецкого</option>
<option name="l1fra" value="l1fra">Французского</option>
</select><n> языка на </n>
<select name="lang2" id="lang2"size="1" onchange="prices()"> 
<option value="0">---</option>
</select> <n> язык</n>
</form></div>
А дальше сообразить не могу. Мне нужно на основании обоих выбранных селектов образовать цену. Например: с английского на русский - 100, с русского на французский - 101.
Пробовал и через массив (знаю что не правильно), и через селектединдекс... Но ничего не работает.

Народ, подскажите, хотя бы в каком направлении двигаться?
Ответить с цитированием
  #2 (permalink)  
Старый 18.04.2011, 19:50
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

не написали,откуда цены берете

я поставил их в value select'ов

<div align="center"><form name="calcForm">
<n>Перевести с </n>
<select name="lang1" id="lang11" size="1" onchange="language()">
<option value="0">---</option>
<option name="l1rus" value="1">Русского</option>
<option name="l1eng" value="2">Английского</option>
<option name="l1deu" value="3">Немецкого</option>
<option name="l1fra" value="4">Французского</option>
</select>
<n> языка на </n>
<select name="lang1" id="lang12" size="1">
<option value="0">Русский</option>
<option value="10">Английский</option>
<option value="20">Немецкий</option>
<option value="30">Французский</option>
</select> <n> язык</n>
</form>
<b>Цена : <u>0</u></b>
</div>
<script>

   a = document.getElementsByTagName("u")[0]
pr =  document.getElementsByTagName("select") 

pr[0].onchange = pr[1].onchange = function(){
 
  a.innerHTML = +pr[0].value + pr[1].value;

}
</script>

Последний раз редактировалось melky, 18.04.2011 в 22:16.
Ответить с цитированием
  #3 (permalink)  
Старый 18.04.2011, 20:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

leshkoff,
Вариант формирования селекта и цены ...
<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>
<body>
  <div align="center">
    <form name="calcForm" id="calcForm">
      <span>Перевести с</span>
       <select name="lang1" id="lang1" size="1" onchange="lang_set(this.value)">
        <option value="">---</option>
        <option value="rus">Русского</option>
        <option value="eng">Английского</option>
        <option value="deu">Немецкого</option>
        <option value="fra">Французского</option>
      </select>
      <span>языка на</span>
      <select name="lang2" id="lang2" size="1" onchange="prices(this.value)">
        <option value="0">---</option>
      </select>
       <span>язык</span>
       <br>
      <span>цена: </span><span id="price"></span>
    </form>
  </div><script type="text/javascript">
var lang_rus = {'rus':'Русский','eng':'Английский','deu':'Немецкий','fra':'Французский'},
    lang = {
  'rus':{'eng':100,'deu':101,'fra':102},
  'eng':{'rus':103,'deu':104,'fra':105},
  'deu':{'rus':106,'eng':107,'fra':108},
  'fra':{'rus':109,'eng':110,'deu':111}
};
function lang_set(b) {
    var a = document.calcForm.lang2;
    a.options.length = 1;
    if(lang[b])for (var c in lang[b]) a.options[a.options.length] = new Option(lang_rus[c], lang[b][c]);
    prices(0)
};
function prices(a)
{
  document.getElementById('price').innerHTML = a
}
</script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 18.04.2011, 20:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Сообщение от melky
a.innerHTML = pr[0].value + pr[1].value;
Может плюсик добавить перед pr[0].value?
Ответить с цитированием
  #5 (permalink)  
Старый 18.04.2011, 22:16
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

хоть и строка, но в хроме и так работает
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Два блока div разъезжаются при скроллинге окна браузера. call007 jQuery 0 03.04.2011 16:21
Конфликтуют два скрипта Aydar_nv Работа 2 27.01.2011 11:13
Если один уже открыт и при нажатии на ссылку два первый блок скрывался и открывался ybiza Элементы интерфейса 3 16.12.2010 22:24
Блок переключения меню на JS, два скрипта в одном файле Dizeloid Элементы интерфейса 0 30.07.2009 12:03
Два одинаковых сценария на одной странице Genetics Общие вопросы Javascript 7 12.07.2009 01:46