Javascript 如果未选中单选按钮,请将其删除
有人知道如何循环浏览一组单选按钮并删除那些未被选中的按钮吗 我想做的是设置一个测验,一旦你提交了测验,它只会显示你选择的单选按钮的答案 任何帮助都将不胜感激Javascript 如果未选中单选按钮,请将其删除,javascript,radio-button,Javascript,Radio Button,有人知道如何循环浏览一组单选按钮并删除那些未被选中的按钮吗 我想做的是设置一个测验,一旦你提交了测验,它只会显示你选择的单选按钮的答案 任何帮助都将不胜感激 我正在处理的页面:如果这是纯javascript,您可以使用如下内容: var inputs = document.getElementById('myForm').getElementsByTagName('input'), i = inputs.length - 1; //Loop backwards to avoid iss
我正在处理的页面:如果这是纯javascript,您可以使用如下内容:
var inputs = document.getElementById('myForm').getElementsByTagName('input'),
i = inputs.length - 1; //Loop backwards to avoid issues when removing an input
for(; i >= 0; i--) { //for loop
//Is this an unchecked radio button
if(inputs[i].type === 'radio' && !inputs[i].checked) {
//Remove this input element
inputs[i].parentNode.removeChild(inputs[i]);
}
}
更新
根据用户的评论,似乎他正试图删除包含无线电
输入的整个标签
元素。下面的代码将实现这一点
var inputs = document.getElementsByTagName('input'),
i = inputs.length - 1,
item;
//Loop backwards through items
for(; i >= 0; i--) {
//If this is an unchecked radio button
if(inputs[i].type === 'radio' && !inputs[i].checked) {
//Begin trying to find the label item
item = inputs[i].parentNode;
//Is this the label item
while(item && item.nodeName.toLowerCase() !== 'label') {
item = item.parentNode;
}
//If an item was found
if(item && item.parentNode) {
//Remove the label element
item.parentNode.removeChild(item);
}
}
}
您可以这样做:
var yourForm=document.getElementById(“yourFormId”);
var removenuchecked=函数(形式){
var childrenList=form.children,
num=childrenList.length-1;
对于(变量i=0;i>=num;i--){
如果(!childrenList[i]。已选中){
removeChild表格(儿童名单[i]);
}
}
}
移除未选中的(您的表单);
将第一行中的
id
替换为表单元素的id
。似乎不起作用。这是我正在处理的页面的链接。我现在会修改它(当我发布它的时候我不能修改),并更新我的答案。似乎不起作用。这是我正在处理的页面的链接@justincron我刚刚在你的页面上运行了完全相同的代码,它确实删除了你在文章中描述的单选按钮。你想删除整个答案吗?是的,我想删除单选按钮,并删除与之相关的答案。像一个迷人的凯尔一样工作!!非常感谢!