我正在向ASP.NET表中动态添加一些行,每行中都有多个单元格,每个单元格包含一个动态创建的控件:

            var TD = document.createElement('td');
        var spanCheck = document.createElement("span");
        spanCheck.innerHTML = "<input type='checkbox' name='vehicle' value='Car'>mycheck";
        spanCheck.id = "newfoodcheck0";
        spanCheck.onclick = function () {

            if (spanCheck.checked)
                alert('checked');
            else
                alert('unchecked');
        };

        TD.appendChild(spanCheck);


我为此范围添加了onclick函数(显示为复选框),我想知道何时选中它,但是if (spanCheck.checked)不起作用,并且我总是在警报中“未选中”,这是怎么回事在这里错了吗?应该使用spanCheck.checked还是使用document.getElementById(spanCheck.id).checked?我已经测试过了,但是再没有运气了!我怎么知道我的复选框被选中还是知道?

最佳答案

在您的代码中,spanCheck不会呈现为复选框。它包含一个复选框。因此,没有这样的属性spanCheck.checked。但是,有一个spanCheck.children[0].checked属性。

关于javascript - 获得javascript动态创建的控件状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15131431/

10-09 13:05