| 
	| 
	
	| 
		
	| 
			
			 
			
				18.04.2011, 18:22
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 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. 
Пробовал и через массив (знаю что не правильно), и через селектединдекс... Но ничего не работает. 
 
Народ, подскажите, хотя бы в каком направлении двигаться?
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				18.04.2011, 19:50
			
			
			
		 |  
	| 
		
			
			| sinistral     |  | 
					Регистрация: 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.
 |  |  
	| 
		
	| 
			
			 
			
				18.04.2011, 20:42
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| 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>
 
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				18.04.2011, 20:51
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| 
	
 
	| Сообщение от melky |  
	| a.innerHTML = pr[0].value + pr[1].value; |  
	
 Может плюсик добавить перед pr[0].value? |  |  
	| 
		
	| 
			
			 
			
				18.04.2011, 22:16
			
			
			
		 |  
	| 
		
			
			| sinistral     |  | 
					Регистрация: 28.03.2011 
						Сообщений: 5,418
					 
		
 |  |  
	| хоть и строка, но в хроме и так работает   |  |  |  |