Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не получается выполнение условия if...else
 
 автор: coloboc66   (12.10.2011 в 12:25)   письмо автору
 
 

Мне нужно, чтобы при выборе несуществующей комбинации typepr и Ipr, например ППН и 100, получались пустые значения I04 и I5, но этого не происходит: получаю 80 и 50.
<head>
<script>
function calc()
{
typepr=document.getElementById("typepr").value;
Ipr=document.getElementById("Ipr").value*1;
//ППН
if(typepr=="ППН"&&Ipr==6.3){I04=80;I5=50;}
if(typepr=="ППН"&&Ipr==10){I04=100;I5=60;}
if(typepr=="ППН"&&Ipr==16){I04=130;I5=70;}
if(typepr=="ППН"&&Ipr==20){I04=150;I5=90;}
//ПН-2
if(typepr=="ПН-2"&&Ipr==100){I04=500;I5=370;}
if(typepr=="ПН-2"&&Ipr==250){I04=2000;I5=1300;}
//другие (несуществующие) комбинации
else {I04="";I5="";}
alert(I04+" "+I5);
}
</script>
</head>
<body>
<select id="typepr" onchange="calc()">
<option value="ППН">ППН</option>
<option value="ПН-2">ПН-2</option>
</select>
<select id="Ipr" onchange="calc()">
<option value="6.3">6.3</option>
<option value="10">10</option>
<option value="16">16</option>
<option value="20">20</option>
<option value="100">100</option>
<option value="250">250</option>
</select>
</body>

А почему?

  Ответить  
 
 автор: Lelik   (12.10.2011 в 12:50)   письмо автору
 
   для: coloboc66   (12.10.2011 в 12:25)
 

2 замечания

1.
typepr=document.getElementById("typepr").value;

этот код возьмёт значение первого элемента. для того чтобы отработало правильно надо так:
typepr=document.getElementById("typepr").options[document.getElementById("typepr").selectedIndex].value;

вот втором случае тоже так надо сделать.



2. тут я сделал бы вот так: сначала назначилбы пустые значения для перемнных и только в случае совпадения комбинаций подставлял бы в них значения

I04="";I5="";
if(typepr=="ППН"&&Ipr==6.3){I04=80;I5=50;}
if(typepr=="ППН"&&Ipr==10){I04=100;I5=60;}
if(typepr=="ППН"&&Ipr==16){I04=130;I5=70;}
if(typepr=="ППН"&&Ipr==20){I04=150;I5=90;}
//ПН-2
if(typepr=="ПН-2"&&Ipr==100){I04=500;I5=370;}
if(typepr=="ПН-2"&&Ipr==250){I04=2000;I5=1300;}

  Ответить  
 
 автор: sl1p   (12.10.2011 в 13:20)   письмо автору
 
   для: Lelik   (12.10.2011 в 12:50)
 

>> этот код возьмёт значение первого элемента. для того чтобы отработало правильно надо так:

будет взято значение какраз выбранного option

  Ответить  
 
 автор: Lelik   (12.10.2011 в 13:24)   письмо автору
 
   для: sl1p   (12.10.2011 в 13:20)
 

удачи вам в ваших написаниях скриптов :)

ЗЫ. а напишите список браузеров, в которых будет взято значение какраз выбранного option. спсаибо.

  Ответить  
 
 автор: coloboc66   (12.10.2011 в 14:22)   письмо автору
 
   для: Lelik   (12.10.2011 в 12:50)
 

2 - работает вроде без первого (options[]). И как я, дебил, сам до него не додумался?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования