javascript - 在 JavaScript 中选择同名单选按钮

标签 javascript

我需要将 2 个 radio 输入添加到 JavaScript 中的一个变量中。以下代码仅识别第一个输入,即 document.forms["myForm"]["satisfied"][0]onclick 应由任一单选按钮选择触发。我可以将代码复制到 2 个变量和 2 个 onclick 事件中,但这并不理想。任何想法将不胜感激!

请注意,在我的情况下,由于对项目中 html 的访问限制,我无法使用 getElemntbyId 或 getElementbyTagName,因此我只能通过 name 标签触发。

var inputs = document.forms["myForm"]["satisfied"][0] || document.forms["myForm"]["satisfied"][1];

inputs.onclick = function() {
    document.forms["myForm"]["check"].disabled= false;
}

最佳答案

使用document.querySelectorAll()使用 attribute-value selector 选择元素.

var radios = document.querySelectorAll('input[name="satisfied]');

// Iterate over them and bind event
for (var i = 0, len = radios.length; i < len; i++) {
    radios[i].addEventListener('change', function() {
        document.querySelector('input[name="check"]').disabled = false;
    }, false);
}

Demo

关于javascript - 在 JavaScript 中选择同名单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37774798/

相关文章:

javascript - Chrome 扩展连接脚本 - 引用资源

javascript - 对样式组件概念的误解

javascript - Html5 canvas 动画留下痕迹

javascript - html中的隐藏文本框

javascript - AngularJS - 尝试使用 ng-switch 和 ng-click 改变背景颜色

javascript - 触发 Javascript 表单字段验证和格式化的事件是什么?

javascript - ie8的js数组搜索功能

javascript - 添加来自 js 中输入的值

javascript - 从 url 中获取数字

javascript - 带有像 sitemesh 这样的装饰器的静态网络