2015-08-14 32 views
0

我正在创建计算器,以便了解有关jQuery和JavaScript的更多信息。我为每个数字从0到9创建了按钮。当按钮被点击时,文本框应该有点击的值。我想创建一个数组,其中包含从0到9的所有值和数学符号,这就是我失败了。我想要做的不是复制和粘贴下面的代码,以便能够让我的按钮工作,我想要一个可以动态实现它的数组。如何从JavaScript中的数组列表中获取所需的数组

这是我的代码的必要组成部分:

jQuery(document).ready(function() { 
     var numbers = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]; 
     jQuery(".numbers").on('click', function() { 
      jQuery("#textbox").val(jQuery("#textbox").val() + numbers.valueOf()); 
     }); 
    }); 

见我试图用.valueOf()方法,但它得到的所有组件。你能告诉我它是如何完成的吗?我也创建了一个JSfiddle,所以也许你想仔细看看。

在此先感谢。

+0

你想达到什么目的?当点击'#one'时,它将'1'添加到您的文本框中?为什么你不只是使用'jQuery(“#textbox”)。val()+'1''? – putvande

+0

我想为它创建一个动态系统。我已经尝试过,但我想摆脱复制粘贴该方法所需的所有输入计算器。 –

回答

1

殴打他人冲,但要尽可能通用,所以你不会重复的代码。

jQuery(document).ready(function() { 
    jQuery("input").on('click', function() { 
     jQuery("#textbox").val(jQuery("#textbox").val()+this.value); 
    }); 
}); 

fiddle

+1

谢谢!这是我正在寻找的。 –

0

为什么不添加一个类到你的按钮并使用它?

jQuery(document).ready(function() { 
    jQuery(".button").on('click', function() { 
     jQuery("#textbox").val(jQuery("#textbox").val() + this.value); 
    }); 
}); 

<input type="button" class="button" style="width:45px; height:45px;" value="1" id="one" /> 
<input type="button" class="button" style="width:45px; height:45px;" value="2" id="two" /> 
<input type="button" class="button" style="width:45px; height:45px;" value="3" id="three" /> 
+0

是的,我很傻,我忘了添加'class'的事实。谢谢。 –

0

当您单击按钮按钮具有价值,我们将挑选使用parseInt($(e.target).val())添加到那儿有什么

jQuery(document).ready(function() { 
      var sign = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]; 
      jQuery("#one").on('click', function (e) { 
       Query("#textbox").val(jQuery("#textbox").val() + parseInt($(e.target).val())); 
      }); 
    }); 

使用事件按钮获得价值

1

你为什么不试试

jQuery("#textbox").val() + numbers[0]) 


点击here for demo

更新link

或只使用
给出一个类名来每个按钮说“按钮”

jQuery(document).ready(function() { 
    jQuery(".button").on('click', function() { 
     jQuery("#textbox").val(jQuery("#textbox").val() + this.value); 
    }); 
}); 
+0

演示不起作用。它仅适用于1,不适用于所有数字。 –

+0

请检查更新的链接 – Vishu238

+0

我做了,现在可以使用。谢谢。 –

0

首先,你应该添加类所有的数字输入。例如

<input type="button" class="number" style="width:45px; height:45px;" value="3" id="three" /> 

在这之后,你可以轻松地做你需要

$(".number").on('click', function (event) { 
     $("#textbox").val($("#textbox").val() + $(event.target).val()); 
    }); 
0

您可以执行以下操作:使用的eval()方法

(function($){ 

    var sign = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]; 
    var text = $('#textbox'); 

    $("input[type='button']").not('#equal').on('click', function() { 
     var self = $(this); 
     text.val(text.val() + self.val()); 
    }); 

    $("#equal").on('click', function(){ 
     text.val(eval(text.val())); 
    }); 

})(jQuery); 

所以,你将能够评估表示为一个字符串的JavaScript代码。

Working fiddle

相关问题