如何比较等于' ='在javascript中

时间:2016-01-13 07:15:25

标签: javascript jquery

我正在用javascript和HTML做一个计算器程序。我有一个值为' ='的按钮。在里面。在那个用户点击计算器中的" =" 按钮时。它应该开始评估他/她迄今为止给出的输入。但是,当用户点击' ='按钮我试着像这样比较

$(".calcinput").click(function () {
        var res = $(this).val();
        if (res == '=') {
            //code to handle when '=' is pressed;
        }
   }

但它没有用,请帮助我。

5 个答案:

答案 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");
  }
})

WORKING FIDDLE

答案 2 :(得分:2)

您的代码good足以处理该事件。只需在comapre中添加额外的=

$(".calcinput").click(function () {
    var res = $(this).val();
    //if (res == '=') {
      if (res === '=') {
        //code to handle when '=' is pressed;
    }
});

接下来检查您使用divbutton或其他元素代表button =

的位置

如果是button,请使用val()提取值

var res = $(this).val();

如果元素为div,那么它可以是innerHTMLinnerTEXT

 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));
   });