单击时我的复选框不会检查

cs_*_*irl 4 html javascript jquery

我的表格和复选框还有另一个问题。我已经让我的 javascript 工作了,它允许我的复选框在我点击表格单元格内的任何地方时进行检查。但是,现在复选框本身不起作用。我已经尝试解决这个问题一个多小时了,在任何地方都找不到答案。这是我的 javascript 和它正在操作的 html 片段:

function tdOnclick(td) {
    for(var i = 0; i < td.childNodes.length; i++) {
        if(td.childNodes[i].nodeName == "INPUT") {
            if(td.childNodes[i].checked) {
                td.childNodes[i].checked = false;
                td.style.backgroundColor = "#FAF4E3";
            } else {
                td.childNodes[i].checked = true;
                td.style.backgroundColor = "#E1E1E1";
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是表格的一部分 html:

 <tr>
    <td><center>9:00 - 10:00</center></td>
    <td class="tdata" onclick="tdOnclick(this)"><input type="checkbox" name="free" value="mon09"></td>
    <td class="tdata" onclick="tdOnclick(this)"><input type="checkbox" name="free" value="tue09"></td>
    <td class="tdata" onclick="tdOnclick(this)"><input type="checkbox" name="free" value="wed09"></td>
    <td class="tdata" onclick="tdOnclick(this)"><input type="checkbox" name="free" value="thu09"></td>
    <td class="tdata" onclick="tdOnclick(this)"><input type="checkbox" name="free" value="fri09"></td>
 </tr>
Run Code Online (Sandbox Code Playgroud)

Fra*_*Man 5

实际上,我要冒险猜测它正在起作用。您的点击是选中该框,然后 onClick 事件取消选中它。这是一个想法:

<input type="checkbox" name="free" value="mon09" onClick="this.checked=!this.checked;">
Run Code Online (Sandbox Code Playgroud)

它有点脏,但它成功地忽略了点击。

工作TinkerBin