我正在用javascript和HTML做一个计算器程序。我有一个值为' ='的按钮。在里面。在那个用户点击计算器中的" =" 按钮时。它应该开始评估他/她迄今为止给出的输入。但是,当用户点击' ='按钮我试着像这样比较
$(".calcinput").click(function () {
var res = $(this).val();
if (res == '=') {
//code to handle when '=' is pressed;
}
}
但它没有用,请帮助我。
答案 0 :(得分:2)
使用
$(this).text()
检索按钮文本而不是
$(this).val()
代码
答案 1 :(得分:2)
如果按钮中有非空$(this).val()
属性,您也可以使用value
HTML
<button class ="calcinput" type ="button">1</button>
<button class ="calcinput" type ="button">2</button>
<button class ="calcinput" type ="button" value="=">=</button>
JS
$(".calcinput").on('click',function(){
if($(this).val() === "="){
alert("equal");
}
})
答案 2 :(得分:2)
您的代码good
足以处理该事件。只需在comapre中添加额外的=
$(".calcinput").click(function () {
var res = $(this).val();
//if (res == '=') {
if (res === '=') {
//code to handle when '=' is pressed;
}
});
接下来检查您使用div
或button
或其他元素代表button =
如果是button
,请使用val()
提取值
var res = $(this).val();
如果元素为div
,那么它可以是innerHTML
或innerTEXT
var res = $(this).innerHTML;
//Or
var res = $(this).innerText;
您可以添加额外的行,以检查您是否获得了element
var res = $(this).val();
alert(res);
答案 3 :(得分:1)
=
是按钮元素的文本,而不是值。由于.val()
返回空字符串。因此,您需要在此使用.text()
代替.val
:
$(".calcinput").click(function () {
var res = $(this).text();
if (res == '=') {
//code to handle when '=' is pressed;
}
});
答案 4 :(得分:1)
查看此Demo。我为ADD
做了一个操作Simillarly你可以为所有操作做这件事。保持简单
A<input type="text" class="a" /><br/>
B<input type="text" class="b" />
<input type="button" class="calcinput" />
$(".calcinput").click(function () {
var res1 = $(".a").val();
var res2 = $(".b").val();
alert(parseFloat(res1) + parseFloat(res2));
});