Javascript - 获取复选框已检查属性值的非正统方法?

时间:2017-05-01 15:08:25

标签: javascript jquery html checkbox

我目前正在使用允许UI脚本注入的第三方基于Web的应用程序。

在我尝试将我的UI脚本注入的页面中,是一个带有相关复选框的元素列表。以下是原始开发人员通过网页生成的复选框,我无法更改这些:

<input type="checkbox" value="1" class="selectionCheckbox" checked="checked" onclick="foo(this)"> // For True (Checked)
<input type="checkbox" value="1" class="selectionCheckbox" onclick="foo(this)"> // For False (Unchecked)

我正在尝试在文档准备好后将其值加载到我自己的UI脚本的复选框中。我的脚本的本质基本上是注入组合的X / Y网格而不是列表。

我试过了:

function loadCheckOne(vobj, objValue) {
    var containerObj = document.getElementById(objValue);
    var row = containerObj.getElementsByClassName("checkbox");
    // row[0] === the above mentioned input element

    if (row[0].checked){
        vobj.setAttribute("checked", "true");
        console.log("Marked.");
    }
    console.log(row[0].checked); // Prints: "undefined"
}

function loadCheckTwo(vobj, objValue) {
    var containerObj = document.getElementById(objValue);
    var row = containerObj.getElementsByClassName("checkbox");
    // row[0] === the above mentioned input element

    if (row[0].hasAttribute("checked")){
        vobj.setAttribute("checked", "true");
        console.log("Marked.");
    }
    console.log(row[0].hasAttribute("checked")); // Prints: "false"
}


function loadCheckThree(vobj, objValue) {
    var containerObj = document.getElementById(objValue);
    var row = containerObj.getElementsByClassName("checkbox");
    // row[0] === the above mentioned input element

    if (row[0].getAttribute("checked")){
        vobj.setAttribute("checked", "true");
        console.log("Marked.");
    }
    console.log(row[0].getAttribute("checked")); // Prints: "null"
}

问题是所有方法都以某种方式返回false或null,即使是在脚本运行时检查的复选框也是如此。不知道从哪里开始。

0 个答案:

没有答案