我想在网页上有一堆不同的按钮。在按钮切换(因此按下按钮并单击并在第二次单击时释放)时,将在文本变量中添加/删除文本。
例如,会有一个(在开头)空文本和按钮1,2,3,4
按下按钮1后,文字应该说1.然后,按3和2后,应该说132.然后,按1(再次)和4后,应该说324。
现在,我有这个(它只是为字符串添加数字),但是如何切换同一字符串中所有按钮的数字?
<p id="textfield"></p>
<button onclick="myFunction('1')">1</button>
<button onclick="myFunction('2')">2</button>
<button onclick="myFunction('3')">3</button>
<button onclick="myFunction('4')">4</button>
<script>
function myFunction(nr) {
document.getElementById("textfield").innerHTML += nr;
}
</script>
答案 0 :(得分:1)
以下代码应该为您解决问题。
<script>
function myFunction(nr) {
var str = document.getElementById("textfield").innerHTML;
if(str.indexOf(nr) >=0)
str = str.replace(nr,"");
else
str += nr;
document.getElementById("textfield").innerHTML = str;
}
</script>
答案 1 :(得分:1)
var nums=[];
function myFunction(nr)
var pos=nums.findIndex(el=>el==nr);
if(pos>-1)(
//exist so remove
nums.splice(pos,1);
}else{
//append at the end
nums.push(nr);
}
//add to html:
document.getElementById("textfield").innerHTML=nums.join("");
}