首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何更改单选按钮选中的属性

如何更改单选按钮选中的属性
EN

Stack Overflow用户
提问于 2020-07-21 06:13:06
回答 2查看 1.5K关注 0票数 1

我想要做的是编写一个选择单选按钮的函数,下面是一个代码库:

Codepen单选按钮测试

代码语言:javascript
运行
AI代码解释
复制
function select(valueOfRadio) {
    $('#s1').removeAttr('checked')
    $('#s2').removeAttr('checked')
    $('#s3').removeAttr('checked')
    switch (valueOfRadio) {// if it equals 
        case 2:
            document.getElementById('s2').setAttribute('checked', true)
            break;
        case 3:
            document.getElementById('s3').setAttribute('checked', true)
            break;
        default:
            document.getElementById('s1').setAttribute('checked', true)
    }
}

  • 问题是在手动按下单选按钮后,attr()函数无法工作。
  • 在联机搜索之后,我发现attr()函数只用于设置初始值,并且它不能在用户与元素交互之后使用。所以我尝试了原生的setAttribute(),但是它也不起作用。然后我发现我可以使用jquery val()函数,但是我不想更改单选按钮输入的值,我想要更改checked属性。

**我的问题是:**

如何在没有attr()功能的情况下改变单选按钮输入的选中属性?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-21 07:14:01

按照评论中的要求,以下是我的解决方案:

代码语言:javascript
运行
AI代码解释
复制
function select(valueOfRadio){
  $('#s1').prop('checked')
  $('#s2').prop('checked')
  $('#s3').prop('checked')
  switch(valueOfRadio){ // if it equals 
    case 2 :
      $('#s2').prop('checked', true);
      break;
    case 3 :
      $('#s3').prop('checked', true);
      break;
    default:
      $('#s1').prop('checked', true);
  }
}
代码语言:javascript
运行
AI代码解释
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <table>
    <tr id="defaultSize">
      <th><input type="radio" name="size" value="1" id="s1"/></th>
      <th><input type="radio" name="size" value="2" id="s2"/></th>
      <th><input type="radio" name="size" value="3" id="s3"/></th>
    </tr>
  </table>

票数 2
EN

Stack Overflow用户

发布于 2020-07-21 06:28:38

当您通过将.checked属性设置为true来检查单选按钮时,它会将具有相同name属性的其他单选按钮设置为未选中

代码语言:javascript
运行
AI代码解释
复制
function select(value) {
  document.getElementById(`s${value}`).checked = true
}
let i = 1
setInterval(
  () => {select(i++ % 3 + 1)},
  1000
)
代码语言:javascript
运行
AI代码解释
复制
<input type="radio" id="s1" name="test" checked>1</input>
<input type="radio" id="s2" name="test">2</input>
<input type="radio" id="s3" name="test">3</input>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63016499

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档