Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.09.2014, 01:44
Интересующийся
Отправить личное сообщение для GonzoT Посмотреть профиль Найти все сообщения от GonzoT
 
Регистрация: 04.09.2014
Сообщений: 11

Деление с остатком
Помогите плиз! Допустим я делю число с остатком, а результат округляю. Как мне вернуть в input делимого числа произведение делителя и результата? Вот пример: http://jsfiddle.net/n9b18mvz/

document.divide.onclick = document.divide.onkeyup = function(){
    this.c.value = Math.ceil(this.a.value / this.b.value);
};


A - 233, B - 10 => результат получается 24 (т.к. производится округление до целого числа). Подскажите код как мне вернуть в input A значение 240 (т.е. C * B)
Ответить с цитированием
  #2 (permalink)  
Старый 24.09.2014, 08:04
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

var a = 233;
var b = 10;
console.log(Math.ceil(a/b)*b);
Ответить с цитированием
  #3 (permalink)  
Старый 24.09.2014, 11:35
Интересующийся
Отправить личное сообщение для GonzoT Посмотреть профиль Найти все сообщения от GonzoT
 
Регистрация: 04.09.2014
Сообщений: 11

Спасибо за ответ, но мне ведь нужно, чтобы это значение (240) ни в консоли отображалось, а вместо значения input'а A (233) сразу после вычисления?
С помощью какой переменной можно это вычисление ((Math.ceil(a/b)*b)) ему присвоить?
Ответить с цитированием
  #4 (permalink)  
Старый 24.09.2014, 12:21
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

document.divide.c.value = Math.ceil(document.divide.a.value / document.divide.b.value) * document.divide.b.value;
Ответить с цитированием
  #5 (permalink)  
Старый 24.09.2014, 12:50
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

GonzoT, ты гуманитарий, да?
Элементарнейшей логики и ассоциативного мышления достаточно, чтобы переделать приведённую тобой строчку так, как тебе надо. Про программирование можно вообще ничего не знать. Дай этот пример первоклашке, и он выдаст тебе ответ.
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 24.09.2014, 13:35
Интересующийся
Отправить личное сообщение для GonzoT Посмотреть профиль Найти все сообщения от GonzoT
 
Регистрация: 04.09.2014
Сообщений: 11

skrudjmakdak, твой пример записывает результат в C. А я пытаюсь вернуть этот результат в A, чтобы при этом поля B и С остались теми же. Должно получиться что-то вроде:

Я ввожу 233 / 10 = 24, а при клике, скажем, в неактивном поле в инпутах отображается 240 / 10 = 24

Aetae, да что ты говоришь? Перечитай вопрос! Я не пример решаю, а пытаюсь вернуть в форму A значение делимого, при котором получается целый округленный результат.
Ответить с цитированием
  #7 (permalink)  
Старый 24.09.2014, 13:50
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

То и говорю. Поменять буковку "c" на буковку "a" - это конечно задача божественной сложности.
__________________
29375, 35
Ответить с цитированием
  #8 (permalink)  
Старый 24.09.2014, 13:56
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

давайте начнем с событий. и их отделим друг от друга

событие при клике. (onkeyup мы пока вообще выкинули из кода)
document.divide.onclick = function(){
    console.log('event onclick');
    document.divide.a.value = Math.ceil(document.divide.a.value / document.divide.b.value) * document.divide.b.value;
};

мы кликаем по 1му полю, чтобы записать значение. и тут происходит событие click - а значит оно нам считает результат и в первое поле нам выдает какую то фигню. а все почему? потому что считать начинает когда форма еще не до конца заполнена.

допустим мы очистили первое поле и ввели значение, теперь мы кликаем по второму полю, чтобы внести данные во второе поле. но нет, что опять? снова произошло событие клик и событие сделало подсчет и поле снова выводит не верное значение...
Ответить с цитированием
  #9 (permalink)  
Старый 24.09.2014, 13:58
Интересующийся
Отправить личное сообщение для GonzoT Посмотреть профиль Найти все сообщения от GonzoT
 
Регистрация: 04.09.2014
Сообщений: 11

Aetae, так я менял на букву "а". Значение A тогда становится NaN. Попробуй сам на jsfiddle и увидишь
Ответить с цитированием
  #10 (permalink)  
Старый 24.09.2014, 14:10
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

GonzoT, а нефиг делить на ноль потому что.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Деление нацело raler jQuery 2 25.05.2015 12:12
Деление переменной на СТО (вопрос от нубика) simple_cov Общие вопросы Javascript 13 07.08.2014 15:46
Google Maps API v3, приближение на одно деление при нажатии на маркер goDev Events/DOM/Window 3 01.06.2014 07:29
задачка на деление PashPP Общие вопросы Javascript 7 03.03.2013 12:15
Деление фишек Persoforadtion Элементы интерфейса 5 07.05.2010 08:20