TuG*_*llo 5 javascript jquery html5 calculator
我有一个计算器,可以使用按钮来分配值.主要思想是生成公式.这些值无缝地添加到"输入"中.输入相应按钮时的所有括号,我需要继续在括号中输入值

jQuery的
$(document).ready(function () {
$("input:button").click(function () {
valor = $(this).val();
actual = $("#ContentPlaceHolder1_formula").val();
if (valor == "C") {
$("#ContentPlaceHolder1_formula").val("");
} else {
if (valor == "=") {
$("#ContentPlaceHolder1_formula").val(eval(actual));
} else {
$("#ContentPlaceHolder1_formula").val(actual + valor);
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
HTML
<div class="form-group">
<input class="btn" type="button" value="()" id="parentesis" />
<input class="btn" type="button" value="1" id="1" />
<input class="btn" type="button" value="2" id="2" />
<input class="btn" type="button" value="3" id="3" />
<input class="btn" type="button" value="+" id="sumar" /><br />
<input class="btn" type="button" value="4" id="4" />
<input class="btn" type="button" value="5" id="5" />
<input class="btn" type="button" value="6" id="6" />
<input class="btn" type="button" value="-" id="restar" /><br />
<input class="btn" type="button" value="7" id="7" />
<input class="btn" type="button" value="8" id="8" />
<input class="btn" type="button" value="9" id="9" />
<input class="btn" type="button" value="*" id="multiplicar" /><br />
<input class="btn" type="button" value="0" id="0" />
<input class="btn" type="button" value="=" id="igual" />
<input class="btn" type="button" value="C" id="C" />
<input class="btn" type="button" value="/" id="dividir" />
<asp:Button ID="btn_login" OnClick="docreateformula" CssClass="btn btn-primary btn-lg center-block" Text="Guardar" runat="server"/>
</div>
Run Code Online (Sandbox Code Playgroud)
有了这个代码就会发生:
5+()3*()+5+3
我需要:
5+(3*(5+3))
我怎样才能做到这一点?
小智 2
您可以使用以下代码来使其工作
function occurrences(string, subString, allowOverlapping) {
string+=""; subString+="";
if(subString.length<=0) return string.length+1;
var n=0, pos=0;
var step=(allowOverlapping)?(1):(subString.length);
while(true){
pos=string.indexOf(subString,pos);
if(pos>=0){ n++; pos+=step; } else break;
}
return(n);
}
$("input:button").click(function () {
valor = $(this).val();
actual = $("#ContentPlaceHolder1_formula").val();
if (valor == "C") {
$("#ContentPlaceHolder1_formula").val("");
}
else if(valor=="()")
{
var count1= occurrences(actual,'(',false);
var count2= occurrences(actual,')',false);
var count=count1+count2;
if(count%2==0) { $("#ContentPlaceHolder1_formula").val(actual+"(");
}
else {
$("#ContentPlaceHolder1_formula").val(actual+")");
}
}
else {
if (valor == "=") {
$("#ContentPlaceHolder1_formula").val(eval(actual));
} else {
$("#ContentPlaceHolder1_formula").val(actual + valor);
}
}
});
Run Code Online (Sandbox Code Playgroud)
演示链接:http://jsfiddle.net/asimshahiddIT/6hje7nvh/