一组 radio 未设置默认值,通过 js 无法正确获取其值

如题,有一组同名radio,未设置默认checked项。之后无论是否选中某项,通过js都无法获取到正确的值,一直返回的都是 第一项的value值。

阅读 4.2k
2 个回答

因为你都没有判断哪个radio被选中了= =

jsvar submitBtn = document.querySelector('input[type=submit]');

submitBtn.addEventListener('click', function() {
  var radios = document.querySelectorAll('input[name=rad]');
  getChecked(radios);
}, false);

function getChecked(radios) {
  // 把radio Nodelist转换成数组
  var radiosArray = Array.prototype.slice.call(radios);

  radiosArray.forEach(function(item, index) {
    // 查看那个radio被选中了
    if (item.checked) {
      console.log(item.value);
    }
  });
}

codepan

$('input[name=rad]:checked').val()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题