Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.11.2010, 15:38
Новичок на форуме
Отправить личное сообщение для Hunt3r Посмотреть профиль Найти все сообщения от Hunt3r
 
Регистрация: 03.11.2010
Сообщений: 7

Нужна помощь с калькулятором
Всем привет. Начал изучать Jquery и вот пытаюсь написать калькулятор. Проблема в том, что у меня 1но поле для ввода цифр, и не могу найти с помощью какого метода я могу цифры вводимые с интерфейса калькулятора, суммировать(т.е. чтоб я мог ввести 455 например). Когда я нажимаю на новую цифру, оно предыдущую заменяет на новую, тоесть надо где-то хранить предыдущее значение, внизу кусочек кода, думаю вы всё поймёте. спасибо за помощь заранее.

$(document).ready(function(){
Calculate();
});

function Calculate(){
var main_field = $('.main-field input');
var numbers = $('.btn-list input');
numbers.click(function(){
var value_numbers = $(this).val();
var current_values = main_field.val(value_numbers);
});
}
Ответить с цитированием
  #2 (permalink)  
Старый 03.11.2010, 16:24
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,382

var current_values =  main_field.val() + String(value_numbers);
main_field.val(current_values)
Ответить с цитированием
  #3 (permalink)  
Старый 03.11.2010, 17:41
Новичок на форуме
Отправить личное сообщение для Hunt3r Посмотреть профиль Найти все сообщения от Hunt3r
 
Регистрация: 03.11.2010
Сообщений: 7

Премного благодарен
Ответить с цитированием
  #4 (permalink)  
Старый 08.11.2010, 15:06
Новичок на форуме
Отправить личное сообщение для Hunt3r Посмотреть профиль Найти все сообщения от Hunt3r
 
Регистрация: 03.11.2010
Сообщений: 7

Снова застрял.. Нужна помощь..
<div id="wrapper">
		<form action="#">
			<fieldset>
				<div class="main-field">
					<input type="text" />
				</div>
				<div class="section-holder">
					<ul class="btn-list">
						<li><input type="button" value="7" /></li>
						<li><input type="button" value="8" /></li>
						<li><input type="button" value="9" /></li>
						<li><input type="button" value="4" /></li>
						<li><input type="button" value="5" /></li>
						<li><input type="button" value="6" /></li>
						<li><input type="button" value="1" /></li>
						<li><input type="button" value="2" /></li>
						<li><input type="button" value="3" /></li>
						<li><input type="button" class="wide-btn" value="0" /></li>
						<li><input type="button" value="." /></li>
					</ul>
					<ul class="action-btn-list">
						<li><input type="button" value="CE" class="btn-clear" /></li>
						<li><input type="button" class="btn-sqrt" value="&radic;" /></li>
						<li><input type="button" class="btn-divide" value="/" /></li>
						<li><input type="button" class="btn-summ" value="+" /></li>
						<li><input type="button" class="btn-multi" value="*" /></li>
						<li><input type="button" class="btn-minus" value="-" /></li>
						<li><input type="button" class="wide-btn btn-compare" value="=" /></li>
					</ul>
				</div>
			</fieldset>
		</form>
	</div>


var first;

$(document).ready(function(){
	Calculate();
});

function Calculate(){
	var main_field = $('.main-field input');
	var numbers = $('.btn-list input');
	var actions_btns = $('.btn-divide, .btn-summ, .btn-multi, .btn-minus')
	ClickNumbers(numbers, main_field);
	
	actions_btns.click(function(){
		first = main_field.val();
		main_field.val('');
	});
	
	//Function Summ
	var btn_summ = $('.btn-summ');
	
	
	//Function Clear
	var btn_clear = $('.btn-clear');
	btn_clear.click(function(){
		main_field.val('');
	});
	
	//Function sqrt
	var btn_sqrt = $('.btn-sqrt');
	btn_sqrt.click(function(){
		var value_sqrt = Math.sqrt(main_field.val());
		main_field.val(value_sqrt);
	});
	
	//Function compare
	var btn_compare = $('.btn-compare');
	
	btn_compare.click(function(){
		var current = main_field.val();
		//var summ = parseInt(first) + parseInt(current);
		//var divide = parseInt(first) / parseInt(current);
		//var minus = parseInt(first) - parseInt(current);
		var multiply = parseInt(first) * parseInt(current);
		main_field.val(multiply);
	});
}

function ClickNumbers(numbers, main_field){
	numbers.click(function(){
		var value_numbers = $(this).val();
		var current_values =  main_field.val() + String(value_numbers);
		main_field.val(current_values);
	});
}


Вообщем мне надо как-то сделать, чтобы например при клике на +, оно запоминало это действие, и потом когда я ввёл 2ю цифру, и при нажатиии следом на равно оно вызывало фунцию сумиррования, и так для каждого действия (+ - * /). Подскажите, как бы мне такое сообразить.. Не обращайте внимания на
btn_compare.click(function(){
var current = main_field.val();
//var summ = parseInt(first) + parseInt(current);
//var divide = parseInt(first) / parseInt(current);
//var minus = parseInt(first) - parseInt(current);
var multiply = parseInt(first) * parseInt(current);
main_field.val(multiply);
});
это так я пробывал эти все функции в действии.

Заранее спасибо
Ответить с цитированием
  #5 (permalink)  
Старый 08.11.2010, 16:10
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

Сообщение от Hunt3r Посмотреть сообщение
Снова застрял.. Нужна помощь..
var multiply = parseInt(first) * parseInt(current);
а если дробное число ?

Запоминайте мат знаки в переменную и если переменная не пустая то выполняйте =
Помоему уж оч банальная учебная задача
Ответить с цитированием
  #6 (permalink)  
Старый 08.11.2010, 16:18
Новичок на форуме
Отправить личное сообщение для Hunt3r Посмотреть профиль Найти все сообщения от Hunt3r
 
Регистрация: 03.11.2010
Сообщений: 7

Я имел ввиду, как отлавливать события или создать условие, что если нажата кнопка сложения, что при нажатии следующим действием на равно, вызывалась функция сложения к примеру и тд.
спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь в JavaScript михаил Общие вопросы Javascript 26 30.10.2013 10:07
нужна помощь тех кто разбирается. igoryk jQuery 2 20.10.2010 18:42
Очень нужна помощь с Ext JS dcbal ExtJS 1 09.07.2010 12:15
нужна помощь Sergiy Серверные языки и технологии 2 31.03.2010 19:16
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 01:17