如何打印选中的复选框值?

时间:2015-04-06 15:50:42

标签: javascript html

html:

<!DOCTYPE html>
    <html>
        <head>
            <link rel="stylesheet" type="text/css" href="style.css">
            <script src="scripts.js"></script>
        </head>

        <body>
            <button id = "button1" type="button" onclick="filterValues();">Submit</button>
        </body>
    </html>

我的javascript:

var checkingValues = ["Cat", "Dog", "Horse", "Tree"];
var createCheckboxes;

var saveValues;
document.write("Choose from the options below:  </br> </br>");

for (var i = 0; i < checkingValues.length; i++) { 

    createCheckboxes = document.createElement("INPUT");
    var checkbox = createCheckboxes.setAttribute("type", "checkbox");
    createCheckboxes.setAttribute("value", checkingValues[i]);

    var checkBoxText = document.body.appendChild(createCheckboxes) + document.write(createCheckboxes.value +"</br>");
}

//try to save checked values
if(createCheckboxes.checked){
        saveValues = checkbox;
    }

function filterValues() {

    document.write(saveValues);
}

我的想法是生成一个复选框并打印(过滤)复选框中的所选项目,方法是将所选项目保存到新阵列中,然后将其打印出来。我觉得我需要为此做一个简单的if语句,但我似乎无法在全局saveValues变量中写入值。我知道这不是最聪明的方法,但我想知道如何做到这一点。我想使用纯JS。

感谢。

2 个答案:

答案 0 :(得分:0)

如果您仅限于纯Javascript,则可以始终执行以下操作:

var inputs = document.getElementsByTagName('input');
for(var i=0; i < inputs.length; i++){
  if(inputs[i].type == 'checkbox' && inputs[i].checked) {
    //print
    console.log(inputs[i].value);
  }
}

这将获得页面上所有选中的复选框并打印其值。您可以执行其他逻辑,或将复选框添加到第二个阵列以供以后使用,而不是打印到控制台。

答案 1 :(得分:0)

试试这个,

function filterValues(){

for (var i = 0; i < checkingValues.length; i++) { 

  if(createCheckboxes.checked){
        saveValues = checkbox;
    }
}

document.write(saveValues);

}