这里http://jsfiddle.net/SW5NH/5/我创建了一些自动生成的表(DOM + JavaScript)。
我想比较复选框的Input1 [z]值(true / false)是否等于Input2' s [z]值。 如果它们不相等,[z]应该改变。
尝试了几种方式(下表是一些测试结果),但无法实现。 如有任何帮助/意见,我将不胜感激。
function valCheck() {
for (var y2 = 0; y2 < empl.length; y2++) {
var Id1 = 'Option1'+y2+'';
var Id2 = 'Option2'+y2;
var input1 = document.getElementById(Id1).checked;
var input2 = document.getElementById(Id2).checked;
var value = 'Value'+y2+'';
var valEntry = document.getElementById(value);
var debt = (input1==input2) ? 'no debt' : 'debt';
document.getElementById('tabinfo').innerHTML = Id1+input1+ ' ' +Id2+input2+ ' ' +(input1&&input2)+value+valEntry+ ' ' + debt;
document.getElementById(value).createTextNode(debt);
}
}
不能工作
更新:已解决。我上一篇文章中的解决方案。
答案 0 :(得分:3)
您的比较是正确的,但您应该像这样使用'更改'eventListener
document.addEventListener('change', valCheck, false);
选中此JSFiddle并分享您的建议。
同时使用===
代替==
答案 1 :(得分:1)
您需要的是DEMO HERE
function checkValue() {
var a = document.getElementById('a');
var b = document.getElementById('b');
if (a.checked != b.checked) {
document.getElementById('lab').innerHTML="Not equal";
}
else
document.getElementById('lab').innerHTML = "equal";
}
答案 2 :(得分:0)
谢谢大家。
我的桌子现在有效,它已经摇滚了:)它仍在进行中,但是只等待一些化妆品修正。
这是实际的JSFidle http://jsfiddle.net/5tcPz/1 如果您觉得它很有用,欢迎您使用它。
我的错误是 - document.createTextNode元素不能有ID,因此Element value [z]的值为null。
我用这样的方式解决了它:
var fifthCell = document.createElement('DIV');
fifthCell.id = "Value" + y + '';
fifthCellText = document.createTextNode('no debt');
fifthCell.appendChild(fifthCellText);
更新。 http://jsfiddle.net/5dmrW完成了表!!!这是我在codeacademy和许多JS在线教程之后的第一个JavaScript项目:)它非常简单,但我为此感到自豪。此致