Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2017, 18:04   #21
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
c = parseFloat(sel_c.value);
Это из другой функции
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 24.03.2017, 18:06   #22
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Решил проблему, вытащил rr = parseFloat(sel_r.value); из проверки
Код HTML:
if('B' === sel_r.value) {dd = parseFloat(sel_f.value.split(', ')[1]);} 
else if (sel_r.value === "950") {dd = parseFloat(sel_f.value.split(', ')[1]);} 
else {dd = parseFloat(sel_f.value.split(', ')[0]);}
 rr = parseFloat(sel_r.value); 
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 25.03.2017, 19:41   #23
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Блин, нифига не решил, теперь rr = parseFloat(sel_r.value); =NAN, если сделать так rr.innerHTML = parseFloat(sel_r.value); то вообще не правильно считает.
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 25.03.2017, 19:50   #24
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

При выборе <option value="950">3</option> в rr = parseFloat(sel_r.value); попадает <option value="В">2</option>, как так то.
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 27.03.2017, 10:00   #25
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Решил проблему
Код HTML:
if('B' === sel_r.value) {dd = parseFloat(sel_f.value.split(', ')[1]);} 
else if (sel_r.value === "950") {dd = parseFloat(sel_f.value.split(', ')[1]); rr=950;} 
else {dd = parseFloat(sel_f.value.split(', ')[0]);  rr = parseFloat(sel_r.value); }
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 27.03.2017, 10:06   #26
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Проблема щас такая, чекбокс id="perevernut" изначально скрыт hidden.
По условию
Код HTML:
 switch (cb3) {
	case "0":
		result*=a;
		break;
	case "1":
		result*=b;
		break;
	case "2":
	if (cb3==="2"){perevernut.style.display = 'block';}
	else {perevernut.style.display = 'none';}
	showPer();
};	
если case "2": то чекбокс id="perevernut" показывается, а если case "0": или case "1": то он опять скрывается, только у меня он почемуто не скрывается?
Код HTML:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    </head>
<body>
 
<input type="number" id="editbox1" value="0"><!--Ширина-->
<input type="number" id="editbox2" value="0"><!--Высота-->
<div id="wb_rezult">
<span><strong><em>Результат</em></strong></span></div><!--Результат-->
 
<select size="1" id="combobox3"><!--combobox3-->
  <option value="2190, 2648" iswdith="0">А</option><!--Только по ширине-->
  <option value="2350, 2823" iswdith="0">В</option><!--Только по ширине-->
  <option value="2490, 2997" iswdith="1">С</option><!--Только по высоте-->
  <option value="1190, 1450" iswdith="2">Р</option><!--по ширине и высоте-->
</select>
<input type="checkbox" id="perevernut"; hidden>
<script>
  var f = 0.5;//parseFloat(intp_f.value);
  var rezult_out = document.getElementById('wb_rezult');//результат
 
  document.getElementById('combobox3').addEventListener("change", myFunc3);
  document.getElementById('editbox1').addEventListener("change", myFunc3); 
  document.getElementById('editbox2').addEventListener("change", myFunc3);
document.getElementById('perevernut').addEventListener("change", myFunc3);  

function printValues(mytext) {
    rezult_out.innerHTML = mytext;
};

function myFunc3() {//функция расчета
  var select_idx = document.getElementById('combobox3').selectedIndex;
  var cb3 = document.getElementById('combobox3').options[select_idx].getAttribute('iswdith'); 

  var a = parseFloat(document.getElementById('editbox1').value);
  var b = parseFloat(document.getElementById('editbox2').value);
  var perevorot= document.getElementById('perevernut');
  var result = f;

  switch (cb3) {
	case "0":
		result*=a;
		break;
	case "1":
		result*=b;
		break;
	case "2":
	if (cb3==="2"){perevernut.style.display = 'block';}
	else {perevernut.style.display = 'none';}
	showPer();
};	
	function showPer() { 
 if (perevernut.checked) {result*=b;}
 else {result*=a;}
  };
 
  printValues(result);   
};
</script>
</body>
</html>
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 27.03.2017, 10:27   #27
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Код:
 switch (cb3) {
	case "0":
		result*=a;
		break;
	case "1":
		result*=b;
		break;
	case "2":
	if (cb3==="2"){perevernut.style.display = 'block';}
	else {perevernut.style.display = 'none';}
	showPer();
};
это Вы написали полную ерунду.
По причине того, что не изучили, что такое оператор switch и как он работает.
вот, например, для чего внутри switch пишутся case "0": или case "1": или case "2":
Если бы Вы понимали, как работает этот оператор, то Вы бы написали что-то такое:

Код:

  switch (cb3) {
	case "0":
		result*=a;
		perevernut.style.display = 'none';
		break;
	case "1":
		result*=b;
		perevernut.style.display = 'none';
		break;
	case "2":
                perevernut.style.display = 'block';
                break;
  }
};
и, разумеется, showPer() обрабатываться не будет.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.03.2017, 10:40   #28
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Спасибо, работает и showPer() тоже работает. break; не прописываю в case "2": для того что бы showPer() работал.
switch вообще классная штука.
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JSP + HQL: как в блоке <select></select> вызвать метод из DAO? Blondy Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 4 01.06.2013 15:54
выбор из select до загрузки страницы Xsires HTML и CSS 3 17.03.2012 18:37
В зависимости от выбора в Select изменить значения другого Select Tayfun HTML и CSS 3 18.08.2011 00:05
Выбор варианта из Select qwerty55 JavaScript, Ajax 2 17.01.2011 14:53
Select t1.N,t1.FIO,(select t2.acc from t2 where t2.type=1) from t1,t2 mavlon_m SQL, базы данных 2 17.09.2009 15:28