如何从按钮数组中获取特定数组值
问题描述:
我真的很新手在javascript和jquery中。我现在正在制作一个计算器。如何从按钮数组中获取特定数组值
这是我的代码。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<meta charset="UTF-8">
<script type="text/javascript">
var buttonname = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "+", "-", "*", "/", "C", "Enter", "="];
$(document).ready(function() {
$("button").click(function() {
// for(var i=0;i<buttonname.length;i++){
var arrayvalue = buttonname[ ? ? ? ? ? ];
var calculate = $("<p>" + arrayvalue + "</p>");
$("#result").append(calculate);
//}
});
});
</script>
</head>
<body>
<!--<textarea id="numberarea"></textarea><br>-->
<script type="text/javascript">
for (var i = 0; i < buttonname.length; i++) {
document.write("<button>" + buttonname[i] + "</button>");
if (i != 0 && (i % 4) == 0)
document.write("<br>");
}
</script>
<div id="result"></div>
</body>
</html>
我应该如何与线var arrayvalue = buttonname[]
或点击功能做的就是在我的情况下,阵列中的特定值?
答
您可以在创建它们时向每个按钮添加一个属性,然后从您的点击处理程序的事件参数中引用该属性。事情是这样的:
var buttonname = ["1","2","3","4","5","6","7","8","9","0","+","-","*","/","C","Enter","="];
$(document).ready(function(){
$("button").click(function(ev){
// for(var i=0;i<buttonname.length;i++){
var arrayvalue = buttonname[$(ev.target).attr('data-index')];
var calculate = $("<p>"+arrayvalue+"</p>");
$("#result").append(calculate);
//}
});
});
for(var i = 0; i <buttonname.length; i++){
document.write("<button data-index="+i+">"+buttonname[i]+"</button>");
if(i != 0 && (i%4) == 0)
document.write("<br>");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="result"></div>
+0
谢谢!作品!其实我不明白attr('data-index')是什么意思,但你救了我! – ProgramLover
+0
p.s. :功能中的ev是否意味着java中的eventlistener? e.getSource().. – ProgramLover
+0
您可以在document.write行上看到,我在按钮HTML元素上设置了一个属性:''
'VAR arrayvalue = BUTTONNAME [X]''那里是x'你希望的特定值检索,从0开始你 –
可以附加名字作为按钮的属性,所以你可以参考它的方式? –
'this.innerText'而不是'buttonname [?????]'?否则,将其存储为'data-'属性。如果您决定通过索引来引用它(通过使用'buttonname [?]'语法),您必须以某种方式找出您按下的按钮的索引,但是因为它使用了分号标记,会比其值得的工作更多的工作。 –