在一组单选按钮中,我需要同时检测所选的收音机和哪个是(自动)取消选中的。
这里是一个简单的例子:
<div class="radio-container">
<input type="radio" name="choice" id="radio1" class="hidden-field">
<label for="radio1">Label 1</label>
<br>
<input type="radio" name="choice" id="radio2" class="hidden-field">
<label for="radio2">Label 2</label>
<br>
<input type="radio" name="choice" id="radio3" class="hidden-field">
<label for="radio3">Label 3</label>
</div>受这里解释的解决方案的启发,我尝试了以下JS代码:
var field = $('.radio-container').find('.hidden-field');
$(field).on('focus', function() {
console.log("Previous: " + $('.hidden-field:checked').next('label').text());
});
$(field).change(function() {
console.log("Selected: " + $('.hidden-field:checked').next('label').text());
});这很好但是..。只有当单选按钮是可见的!
如果我应用以下CSS:
.hidden-field {
display: none;
}对前面所选字段的检测不再运行(我也尝试使用visibility:hidden )。
我需要这样做,因为我在一个非常常见的"CSS手风琴解决方案“中使用了这种技术,在这个解决方案中,单击标签标签可以触发相应的隐藏单选按钮。
拜托,js有什么解决办法吗?
发布于 2020-11-05 15:38:39
尝试.on('change',...)并使用prop('checked')获取选中的值
https://stackoverflow.com/questions/64700147
复制相似问题