radio checked不起作用的原因

本文探讨了一个关于HTML表单控件可见性的具体问题,即radio按钮在不同表格单元格(td)内的表现差异。当radio按钮位于表格单元格内时,其checked属性能够正常工作,而直接放在<tr>标签内时则失效。文章通过实例对比展示了这一现象,并提供了源代码供读者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 <table  id="approveTable">
                    <tr>
                       <td>
                        <input  type="radio"   name="action"  value="1"  checked="checked"   onclick='$("#selectRow").css("visibility","visible");'/>成功
                        </td>
                        <td>
                        <input  type="radio"   name="action"   value="0"  onclick='$("#selectRow").css("visibility","hidden");'/>失败
                        </td>
                    </tr>
</table>

这种方式checked是起作用,但如果不把控件包在td中就不起作用了,如下:

 <table  id="approveTable">
                    <tr>
                       
                        <input  type="radio"   name="action"  value="1"  checked="checked"   onclick='$("#selectRow").css("visibility","visible");'/>成功
                        
                        <input  type="radio"   name="action"   value="0"  onclick='$("#selectRow").css("visibility","hidden");'/>失败
                        
                    </tr>
</table>

 

转载于:https://www.cnblogs.com/toSeeMyDream/p/4410473.html

### 如何通过 `name` 属性检查 Radio 按钮状态 为了验证具有相同名称 (`name`) 的一组单选按钮 (Radio Button),可以使用 JavaScript 来遍历这些元素并检测哪个被选中。下面是一个详细的实现方法: #### 使用原生 JavaScript 实现 可以通过获取表单中的所有同名单选按钮,再逐一判断其是否处于已选中(`checked`)状态。 ```javascript function getCheckedRadioButton(name) { const radios = document.getElementsByName(name); let selectedValue; Array.prototype.forEach.call(radios, function(radio) { if (radio.checked === true) { selectedValue = radio.value; } }); return selectedValue ? selectedValue : null; } ``` 此函数接收一个参数作为要查询的单选按钮组的名字,并返回当前选定项的值;如果没有选项被选中,则返回 `null`[^1]。 当页面加载完成或者特定事件触发时调用上述定义的方法来获取用户的选择情况: ```html <form id="exampleForm"> <input type="radio" name="option" value="first">First<br> <input type="radio" name="option" value="second">Second<br> <input type="radio" name="option" value="third">Third </form> <script> window.onload = function() { console.log(getCheckedRadioButton('option')); // 输出第一个默认选中的value或null }; </script> ``` 对于样式调整方面,在某些情况下可能需要移除内边距(top padding)以使标签文字基线更好地对齐其他组件,这属于 CSS 布局优化的一部分[^2]。 此外,如果希望动态启用/禁止单选按钮,可利用如下提供的辅助函数来进行操作[^3]: ```javascript // 动态设置单选按钮不可用 document.querySelector('[name=option]').disabled = true; // 或者批量处理多个单选按钮 const optionsRadios = document.querySelectorAll('[name=option]'); optionsRadios.forEach(option => option.disabled = true); // 启用指定单选按钮 enableElement(document.querySelector('[name=option][value="second"]')); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值