2015-04-06 25 views
-1

的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。

謝謝。

回答

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); 
    } 
} 

這將讓所有選中的頁面上的複選框並打印其價值。你可以做一些其他的邏輯,而不是打印到控制檯,或者將複選框添加到第二個數組中供以後使用。

0

嘗試此,

功能filterValues(){

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

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

document.write(saveValues); 

}