分离的无线电输入不同步检查?

时间:2013-03-25 01:34:01

标签: javascript forms dom

这是一个错误还是我错过了什么?

我创建了一些与任何文档分离的无线电输入,并检查它们。我希望只有第二个留下来检查,但都保持检查:

var container = document.createElement('div');
container.innerHTML = 
    '<input type="radio" name="tiny" value="elephants">' +
    '<input type="radio" name="tiny" value="robots">';

var radios = container.querySelectorAll('[name=tiny]');

// Select one, then the other while detached
radios[0].checked = true;
radios[1].checked = true;

console.log(radios[0].checked);
// true
console.log(radios[1].checked);
// true

如果我将相同的container附加到文档,则会强制执行独占检查:

document.body.appendChild(container);

radios[0].checked = true;
radios[1].checked = true;

console.log(radios[0].checked);
// false
console.log(radios[1].checked);
// true

在我看来,这些无线电符合the spec对单个单选按钮组的定义。如果我将包含元素切换为表单,则即使在分离时也会同步检查。到目前为止,我只在Chrome 25中检查了这一点。

0 个答案:

没有答案