javascript - 更改具有相同 ID 的按钮值

标签 javascript php

当我有这个时,它工作正常。

//php
<input id="somename" type="button" value="Text1" />

//script
<script>
  document.getElementById('somename').onclick = function(){
    this.value = this.value === 'Text1' ? 'Text2' : 'Text1';
  }
</script>

但是当我有这个时,它只适用于第一个按钮。

//php

<input id="somename" type="button" value="Text1" />
<input id="somename" type="button" value="Text1" />

//Script
<script>
  document.getElementById('somename').onclick = function(){
    this.value = this.value === 'Text1' ? 'Text2' : 'Text1';
  }
</script>

有没有办法处理任意数量的按钮?我想对所有按钮使用相同的 ID 和值。

提前致谢!

最佳答案

您应该只有 一个 具有特定 id 的元素。请改用 nameclass HTML 属性。因此,您可以通过执行 document.getElementsByClassNamegetElementsByName 获取元素数组。

试试这个,只使用纯 javascript

Array.prototype.forEach.call(document.getElementsByName('somename'), function(button){
    button.onclick = function(){
        this.value = this.value === 'Text1' ? 'Text2' : 'Text1';
    };
});

并且在您的 HTML 中,请记住更改 name 属性的 id 属性:

<input name="somename" type="button" value="Text1" />
<input name="somename" type="button" value="Text1" />

我做了这个jsfiddle让你看到代码工作。检查一下!

关于javascript - 更改具有相同 ID 的按钮值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25827329/

相关文章:

javascript - 使用Javascript将字符串以多种方式拆分为数组

javascript - 将 Breeze.js 与服务器端缓存一起使用

php - 在函数 pdo 中输入数组

php - header 参数发布请求 php ( curl )

javascript - 带摄像头的旋转光源 + OrbitControls.js

javascript - HTML5 拖放不掉

javascript - 如何使用 onclick 事件将外部 PHP 页面的内容包含到 DIV 中?

php - Doctrine 删除实体并一次性添加一个新实体

php - 如何在 Android + PHP json 请求中处理一系列价格

javascript - 访问 session 值