Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите с кодом. Поиск и вывод нужного значения (https://javascript.ru/forum/dom-window/58325-pomogite-s-kodom-poisk-i-vyvod-nuzhnogo-znacheniya.html)

Sav2907 17.09.2015 05:20

Цитата:

Сообщение от nesnayka (Сообщение 388916)
Держите, в тех понятиях, которые я расписывал:
<script>
var timerId = setInterval(function() {
var sum = 0;
  for(i=1;i<=30;i++){
    document.getElementById('chs'+i).value=parseFloat(document.getElementById('hvl'+i).value) * parseFloat(document.getElementById('sht'+i).value) / 100; // - перемножаем 1-ю колонку на вторую и записываем в третью
  sum += parseFloat(document.getElementById('chs'+i).value); // - суммируем все из 3-й колонки
  }
  document.getElementById('chas').value = sum; // - записываем сумму в поле "Общее время"
  document.getElementById('efekt').value=parseFloat(document.getElementById('chas').value) / 480 * 100; // - высчитываем эффект и записываем в соотв. поле.
  if(parseFloat(document.getElementById('efekt').value)<50) // - если эффект. <50, 
    document.getElementById('prem').value = 0; // - в поле "Премия " пишем 0
  else // - если больше или равно
    document.getElementById('prem').value = '25%'; // - в поле "Премия " пишем 25% (ну или что туда нужно)
} , 1000);
</script>

У Рони более изящно и подходит для общего случая, но для вас, как для новичка, менее понятно. )

Не работает! Что-то где-то не так. Пересмотрите пожалуйста

Sav2907 17.09.2015 05:22

Цитата:

Сообщение от рони (Сообщение 388914)
Sav2907,
при условии что премия за эффект 80 в вашей таблице вычислена неверно, иначе пишите обьект со всеми значениями{эффект : премия, ...}
...

Спасибо, работает. Но там в таблице все верно, как переписать всю таблицу и вставить?

Sav2907 17.09.2015 05:35

Там сначала проценты увеличиваются на 0,5 а затем на 1,5 а потом снова на 0,5. Эффект от 50 до 76 по 0,5. От 76 до 113 по 1,5. А от 113 до 200 по 0,5. И если зножете, то действительно распишите чтобы я смог разобраться. спасибо вам за помощь.

рони 17.09.2015 07:27

Sav2907,
смотрите сообщение 15 снова, и не копируйте сообщения целиком

Sav2907 17.09.2015 10:08

Цитата:

Сообщение от рони (Сообщение 388944)
Sav2907,
смотрите сообщение 15 снова, и не копируйте сообщения целиком

Вижу вы изменили код, сейчас я с телефона зашел, проверить не могу. Но заранее благодарю. Что вы имеете в виду, не копировать сообщение?

Sav2907 17.09.2015 11:20

рони,
Можете еще описать скрипт, чтобы иметь представление что к чему

рони 17.09.2015 12:27

Цитата:

Сообщение от Sav2907
Что вы имеете в виду, не копировать сообщение?

целиком ненадо копировать, засоряет топик

Sav2907 17.09.2015 15:48

рони,
Все супер, работает. Только изменил
for (var c = 20.5, d = 51; d < b | 0; d++) {
потому что считало не так, как в таблице.
Опишите пожалуйста скрипт, это последняя просьба

Sav2907 17.09.2015 15:51

рони,
показывает все верно, только когда эффект 50, то премия 20.5 а не 20
Должно быть так, когда 50 то 20, а когда 100 то 69. Чтобы проверить впишите в первое поле 4, а во второй 6000, затем вместо 6000 введите 12000

Нашел вот так должно быть
for (var c = 20, d = 50; d < b | 0; d++) {

рони 17.09.2015 16:18

Sav2907,
вам виднее -- на картинке вы указали для 50 => 20, меняйте проверяйте :)


Часовой пояс GMT +3, время: 03:10.