2014-12-13 4 views
-1

Представьте себе, как нормальный калькулятор. Используйте кнопку щелчка, чтобы ввести данные в окно отображения. Теперь я хочу нажать кнопку, чтобы показать «+», а также удалить все номера на дисплее, но сохранить его. Поэтому я могу щелкнуть, чтобы показать новый номер. После этого сохраните эти данные, включая число 1, «+» и номер 2. Например: («1», «+» «2»). Причина этого, но не использование javascript для нормального вычисления, заключается в том, что я хочу использовать Ajax для отправки на php и использовать php для выполнения математики. Однако я застрял в этой части.Как сохранить номер входного окна в jQuery

var memory = ""; 
$("#add").click(function() { 
    memory += $show.val() + "+"; 
    if($show.val().length >= 1){ 
    $show.val("+"); 
    } else { 
    $show.val(""); 
    } 
} 

ответ

1

[обязательное предупреждение против оцениваемого кода из строки на сервере]

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

var memory = []; 

$("#add").click(function() { 
    var val = $show.val(); 
    if (val) 
     memory.push(val); 
    $show.val('+'); 
}); 

$('#submit').click(function() { 
    var s = memory.join('+'); 
    memory = []; 
    $.get(... 
}); 
+0

спасибо за ответы. В этом случае среднее значение var val хранит первое число, а var s хранит второе число с добавлением на него +? –

+0

'val' хранит последний введенный символ (предполагается, что это число). 'memory' - это массив, который содержит все' val 'в порядке. '' 'хранит' val 'с '+' вкрапленными. – twinlakes

+0

Что делать, если я хочу создать больше кнопки, например, умножить и разделить. Итак, var s = memory.join ('+'); что «+» - это просто строка? Могу ли я сделать это, как var s = memory.join ('. Operator'); ? –

0

Проверить Fiddle here

var one = $("#one"); 
 
var two = $("#two"); 
 
var add = $("#add"); 
 
var show = $("#show"); 
 
var equal = $("#equal"); 
 
var memory = ""; 
 

 
one.click(function(){ 
 
    memory += "1";  
 
    show.val("1"); 
 
}); 
 

 
two.click(function(){ 
 
    memory += "2"; 
 
    show.val("2"); 
 
}); 
 

 
add.click(function(){ 
 
    memory += "+"; 
 
    if(show.val().length >= 1) 
 
    show.val("+"); 
 
    else 
 
    show.val("");  
 
}); 
 

 
equal.click(function(){ 
 
    show.val(memory) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="show" type="text"/> 
 
<input id="one" type="button" value="1"/> 
 
<input id="two" type="button" value="2"/> 
 
<input id="add" type="button" value="+"/> 
 
<input id="equal" type="button" value="="/>

+0

Иметь такую ​​же озабоченность при обработке таких вычислений на сервере согласно @twinlakes answer – Gouda

Смежные вопросы