15.09.2015, 17:44
|
Профессор
|
|
Регистрация: 15.09.2015
Сообщений: 180
|
|
Помогите с кодом. Поиск и вывод нужного значения
Здравствуйте, помогите решить проблему. Есть код который считает эффективность, и есть табличка в которой указана премия, относительно той эффективности. Как сделать чтобы в поле "Премия", была премия
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
</head>
<body>
01.<input id="hvl1" size="2"><input id="sht1" size="2"/> <input id="chs1" size="4" disabled/> 11.<input id="hvl11" size="2"><input id="sht11" size="2"/> <input id="chs11" size="4" disabled/> 21.<input id="hvl21" size="2"><input id="sht21" size="2"/> <input id="chs21" size="4" disabled/><br />
02.<input id="hvl2" size="2"><input id="sht2" size="2"/> <input id="chs2" size="4" disabled/> 12.<input id="hvl12" size="2"><input id="sht12" size="2"/> <input id="chs12" size="4" disabled/> 22.<input id="hvl22" size="2"><input id="sht22" size="2"/> <input id="chs22" size="4" disabled/><br />
03.<input id="hvl3" size="2"><input id="sht3" size="2"/> <input id="chs3" size="4" disabled/> 13.<input id="hvl13" size="2"><input id="sht13" size="2"/> <input id="chs13" size="4" disabled/> 23.<input id="hvl23" size="2"><input id="sht23" size="2"/> <input id="chs23" size="4" disabled/><br />
04.<input id="hvl4" size="2"><input id="sht4" size="2"/> <input id="chs4" size="4" disabled/> 14.<input id="hvl14" size="2"><input id="sht14" size="2"/> <input id="chs14" size="4" disabled/> 24.<input id="hvl24" size="2"><input id="sht24" size="2"/> <input id="chs24" size="4" disabled/><br />
05.<input id="hvl5" size="2"><input id="sht5" size="2"/> <input id="chs5" size="4" disabled/> 15.<input id="hvl15" size="2"><input id="sht15" size="2"/> <input id="chs15" size="4" disabled/> 25.<input id="hvl25" size="2"><input id="sht25" size="2"/> <input id="chs25" size="4" disabled/><br />
06.<input id="hvl6" size="2"><input id="sht6" size="2"/> <input id="chs6" size="4" disabled/> 16.<input id="hvl16" size="2"><input id="sht16" size="2"/> <input id="chs16" size="4" disabled/> 26.<input id="hvl26" size="2"><input id="sht26" size="2"/> <input id="chs26" size="4" disabled/><br />
07.<input id="hvl7" size="2"><input id="sht7" size="2"/> <input id="chs7" size="4" disabled/> 17.<input id="hvl17" size="2"><input id="sht17" size="2"/> <input id="chs17" size="4" disabled/> 27.<input id="hvl27" size="2"><input id="sht27" size="2"/> <input id="chs27" size="4" disabled/><br />
08.<input id="hvl8" size="2"><input id="sht8" size="2"/> <input id="chs8" size="4" disabled/> 18.<input id="hvl18" size="2"><input id="sht18" size="2"/> <input id="chs18" size="4" disabled/> 28.<input id="hvl28" size="2"><input id="sht28" size="2"/> <input id="chs28" size="4" disabled/><br />
09.<input id="hvl9" size="2"><input id="sht9" size="2"/> <input id="chs9" size="4" disabled/> 19.<input id="hvl19" size="2"><input id="sht19" size="2"/> <input id="chs19" size="4" disabled/> 29.<input id="hvl29" size="2"><input id="sht29" size="2"/> <input id="chs29" size="4" disabled/><br />
10.<input id="hvl10" size="2"><input id="sht10" size="2"/> <input id="chs10" size="4" disabled/> 20.<input id="hvl20" size="2"><input id="sht20" size="2"/> <input id="chs20" size="4" disabled/> 30.<input id="hvl30" size="2"><input id="sht30" size="2"/> <input id="chs30" size="4" disabled/><br /><br />
Общее время: <input id="chas" size="2" disabled/> Эффективность: <input id="efekt" size="2" disabled/> Премия: <input id="prem" size="2" disabled/>
</body>
<script>
var timerId = setInterval(function() {
chs1.value=Number(hvl1.value) * Number(sht1.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs2.value=Number(hvl2.value) * Number(sht2.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs3.value=Number(hvl3.value) * Number(sht3.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs4.value=Number(hvl4.value) * Number(sht4.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs5.value=Number(hvl5.value) * Number(sht5.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs6.value=Number(hvl6.value) * Number(sht6.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs7.value=Number(hvl7.value) * Number(sht7.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs8.value=Number(hvl8.value) * Number(sht8.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs9.value=Number(hvl9.value) * Number(sht9.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs10.value=Number(hvl10.value) * Number(sht10.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs11.value=Number(hvl11.value) * Number(sht11.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs12.value=Number(hvl12.value) * Number(sht12.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs13.value=Number(hvl13.value) * Number(sht13.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs14.value=Number(hvl14.value) * Number(sht14.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs15.value=Number(hvl15.value) * Number(sht15.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs16.value=Number(hvl16.value) * Number(sht16.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs17.value=Number(hvl17.value) * Number(sht17.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs18.value=Number(hvl18.value) * Number(sht18.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs19.value=Number(hvl19.value) * Number(sht19.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs20.value=Number(hvl20.value) * Number(sht20.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs21.value=Number(hvl21.value) * Number(sht21.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs22.value=Number(hvl22.value) * Number(sht22.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs23.value=Number(hvl23.value) * Number(sht23.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs24.value=Number(hvl24.value) * Number(sht24.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs25.value=Number(hvl25.value) * Number(sht25.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs26.value=Number(hvl26.value) * Number(sht26.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs27.value=Number(hvl27.value) * Number(sht27.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs28.value=Number(hvl28.value) * Number(sht28.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs29.value=Number(hvl29.value) * Number(sht29.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs30.value=Number(hvl30.value) * Number(sht30.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chas.value=Number(chs1.value) + Number(chs2.value) + Number(chs3.value) + Number(chs4.value) + Number(chs5.value) + Number(chs6.value) + Number(chs7.value) + Number(chs8.value) + Number(chs9.value) + Number(chs10.value) + Number(chs11.value) + Number(chs12.value) + Number(chs13.value) + Number(chs14.value) + Number(chs15.value) + Number(chs16.value) + Number(chs17.value) + Number(chs18.value) + Number(chs19.value) + Number(chs20.value) + Number(chs21.value) + Number(chs22.value) + Number(chs23.value) + Number(chs24.value) + Number(chs25.value) + Number(chs26.value) + Number(chs27.value) + Number(chs28.value) + Number(chs29.value) + Number(chs30.value);
} , 1000);
var timerId = setInterval(function() {
efekt.value=Number(chas.value) / '480' * 100 .toFixed(2);
} , 1000);
</script>
</html>
|
|
15.09.2015, 17:46
|
Профессор
|
|
Регистрация: 15.09.2015
Сообщений: 180
|
|
Если эффективность ниже 50, премия "0"
|
|
16.09.2015, 12:44
|
Аспирант
|
|
Регистрация: 06.09.2015
Сообщений: 61
|
|
Для начала неплохо бы это все:
.....
var timerId = setInterval(function() {
chs27.value=Number(hvl27.value) * Number(sht27.value) / 100;
} , 1000);
var timerId = setInterval(function() {
chs28.value=Number(hvl28.value) * Number(sht28.value) / 100;
} , 1000);
.......
засунуть в цикл и заменить
chs28.value=Number(hvl28.value) * Number(sht28.value) / 100;
условием
if(Number(hvl28.value)<50)
chs28.value=0;
else
chs28.value=Number(hvl28.value) * Number(sht28.value) / 100;
Последний раз редактировалось nesnayka, 16.09.2015 в 12:48.
|
|
16.09.2015, 13:31
|
Профессор
|
|
Регистрация: 15.09.2015
Сообщений: 180
|
|
Немного объясню, там где Chs1-chs30 так и должно быть. Потому что потом выводится общая сумма из всех значений. Условие возможно нужно поставить для суммы всех значений, а это chas.value?
|
|
16.09.2015, 13:41
|
Профессор
|
|
Регистрация: 15.09.2015
Сообщений: 180
|
|
Или даже от efekt.value.
Эсли efekt.value > 50 тогда...
Помогите пожалуйста
|
|
16.09.2015, 13:44
|
Аспирант
|
|
Регистрация: 06.09.2015
Сообщений: 61
|
|
Сумму тоже через цикл можно:
var sum = 0;
for(i=1;i<=30;i++){
sum += parseFloat(document.getElementById('chs'+i).value);
}
chas.value = sum;
И тот весь огромный кусок вычислений:
var timerId = setInterval(function() {
for(i=1;i<=30;i++){
document.getElementById('chs'+i).value=parseFloat(document.getElementById('hvl'+i).value) * parseFloat(document.getElementById('chs'+i).value) / 100;
}
} , 1000);
Только я там не совсем разобрался какое поле в условии проверять нужно
Последний раз редактировалось nesnayka, 16.09.2015 в 13:52.
|
|
16.09.2015, 13:56
|
Аспирант
|
|
Регистрация: 06.09.2015
Сообщений: 61
|
|
Сообщение от Sav2907
|
там где Chs1-chs30 так и должно быть
|
Так не должно быть.
Я еще понимаю 5-6 значений перебрать, да и то, когда цикличный их перебор не очевиден. (Тут же обсуждали ситуацию по поводу присваивания .hover нескольким элементам), но создание 30 функций там, где явно напрашивается цикл - не комильфо. )
|
|
16.09.2015, 17:50
|
Профессор
|
|
Регистрация: 15.09.2015
Сообщений: 180
|
|
В первом поле пишем 3.5 это время, во втором поле 2000 это штуки, в третьем поле высчитывается время на заказ, это 70.
В поле "Общее время", это время, суммируется. Поле "Эффективность" высчитывается по формуле общее время делим на 480, и умножаем на 100. Эта эффективность есть в таблице в первой колонке. Если она равна или больше 50, то начисляется "Премия" (она в таблице во второй колонке), которая должна как-то отображаться в поле "Премия". Я в программировании новичек, поэтому прошу показать что и как делать.
|
|
16.09.2015, 18:05
|
Профессор
|
|
Регистрация: 15.09.2015
Сообщений: 180
|
|
Что-то не так
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
</head>
<body>
01.<input id="hvl1" size="2"><input id="sht1" size="2"/> <input id="chs1" size="4" disabled/> 11.<input id="hvl11" size="2"><input id="sht11" size="2"/> <input id="chs11" size="4" disabled/> 21.<input id="hvl21" size="2"><input id="sht21" size="2"/> <input id="chs21" size="4" disabled/><br />
02.<input id="hvl2" size="2"><input id="sht2" size="2"/> <input id="chs2" size="4" disabled/> 12.<input id="hvl12" size="2"><input id="sht12" size="2"/> <input id="chs12" size="4" disabled/> 22.<input id="hvl22" size="2"><input id="sht22" size="2"/> <input id="chs22" size="4" disabled/><br />
03.<input id="hvl3" size="2"><input id="sht3" size="2"/> <input id="chs3" size="4" disabled/> 13.<input id="hvl13" size="2"><input id="sht13" size="2"/> <input id="chs13" size="4" disabled/> 23.<input id="hvl23" size="2"><input id="sht23" size="2"/> <input id="chs23" size="4" disabled/><br />
04.<input id="hvl4" size="2"><input id="sht4" size="2"/> <input id="chs4" size="4" disabled/> 14.<input id="hvl14" size="2"><input id="sht14" size="2"/> <input id="chs14" size="4" disabled/> 24.<input id="hvl24" size="2"><input id="sht24" size="2"/> <input id="chs24" size="4" disabled/><br />
05.<input id="hvl5" size="2"><input id="sht5" size="2"/> <input id="chs5" size="4" disabled/> 15.<input id="hvl15" size="2"><input id="sht15" size="2"/> <input id="chs15" size="4" disabled/> 25.<input id="hvl25" size="2"><input id="sht25" size="2"/> <input id="chs25" size="4" disabled/><br />
06.<input id="hvl6" size="2"><input id="sht6" size="2"/> <input id="chs6" size="4" disabled/> 16.<input id="hvl16" size="2"><input id="sht16" size="2"/> <input id="chs16" size="4" disabled/> 26.<input id="hvl26" size="2"><input id="sht26" size="2"/> <input id="chs26" size="4" disabled/><br />
07.<input id="hvl7" size="2"><input id="sht7" size="2"/> <input id="chs7" size="4" disabled/> 17.<input id="hvl17" size="2"><input id="sht17" size="2"/> <input id="chs17" size="4" disabled/> 27.<input id="hvl27" size="2"><input id="sht27" size="2"/> <input id="chs27" size="4" disabled/><br />
08.<input id="hvl8" size="2"><input id="sht8" size="2"/> <input id="chs8" size="4" disabled/> 18.<input id="hvl18" size="2"><input id="sht18" size="2"/> <input id="chs18" size="4" disabled/> 28.<input id="hvl28" size="2"><input id="sht28" size="2"/> <input id="chs28" size="4" disabled/><br />
09.<input id="hvl9" size="2"><input id="sht9" size="2"/> <input id="chs9" size="4" disabled/> 19.<input id="hvl19" size="2"><input id="sht19" size="2"/> <input id="chs19" size="4" disabled/> 29.<input id="hvl29" size="2"><input id="sht29" size="2"/> <input id="chs29" size="4" disabled/><br />
10.<input id="hvl10" size="2"><input id="sht10" size="2"/> <input id="chs10" size="4" disabled/> 20.<input id="hvl20" size="2"><input id="sht20" size="2"/> <input id="chs20" size="4" disabled/> 30.<input id="hvl30" size="2"><input id="sht30" size="2"/> <input id="chs30" size="4" disabled/><br /><br />
Общее время: <input id="chas" size="2" disabled/> Эффективность: <input id="efekt" size="2" disabled/> Премия: <input id="prem" size="2" disabled/>
</body>
<script>
var timerId = setInterval(function() {
for(i=1;i<=30;i++){
document.getElementById('chs'+i).value=parseFloat(document.getElementById('hvl'+i).value) * parseFloat(document.getElementById('chs'+i).value) / 100;
}
} , 1000);
var sum = 0;
for(i=1;i<=30;i++){
sum += parseFloat(document.getElementById('chs'+i).value);
}
chas.value = sum;
var timerId = setInterval(function() {
efekt.value=Number(chas.value) / '480' * 100;
} , 1000);
</script>
</html>
Последний раз редактировалось Sav2907, 16.09.2015 в 18:12.
|
|
16.09.2015, 18:41
|
Профессор
|
|
Регистрация: 15.09.2015
Сообщений: 180
|
|
Сообщение от nesnayka
|
И тот весь огромный кусок вычислений:
var timerId = setInterval(function() {
for(i=1;i<=30;i++){
document.getElementById('chs'+i).value=parseFloat(document.getElementById('hvl'+i).value) * parseFloat(document.getElementById('chs'+i).value) / 100;
}
} , 1000);
Только я там не совсем разобрался какое поле в условии проверять нужно
|
parseFloat(document.getElementById(' sht'+i).value)
А сумма не работает
|
|
|
|