2016-09-06 47 views
0

我想獲取提供的輸入字段上的所有複選框選中的值。我使用JavaScript來獲取值,但它只顯示一個選中的值。當我檢查另一個複選框時,它僅顯示第二個複選框。 這裏是我做了什麼至今:顯示檢查textarea的複選框值javascript

<html> 
<head> 
<script type="text/javascript"> 
function checkbox(val){ 
document.getElementById("show").value = val; 
} 
</script> 
</head> 
<body> 
    <form> 
     <input type="checkbox" id="bk" name="vehicle" onClick="checkbox(this.value);" value="Bike">I have a bike<br></br> 
     <input type="checkbox" id="cr" name="vehicle" onClick="checkbox(this.value);" value="Car">I have a car<br></br> 
     <input type="text" id="show" name="vehicle"><br> 
     <input type="submit" value="Showe"> 
    </form> 
</body> 
</html> 

正如我所說的,這一個只顯示一個選中的值,但是我想告訴所有指定的輸入欄檢查的值! 謝謝!

+0

存放在數組中的值,然後告訴他們 –

回答

3

您的代碼只發送當前點擊的項目到方法。您需要查看該方法中的所有複選框,並查找已選中的複選框,將它們放入數組中,然後將數組值插入輸入中。另外值得注意的是,當你這樣做,並在每次點擊時構建數組,它也會使它看起來好像項目在取消選中時將從輸入中移除。

function checkbox(){ 
 
    
 
    var checkboxes = document.getElementsByName('vehicle'); 
 
    var checkboxesChecked = []; 
 
    // loop over them all 
 
    for (var i=0; i<checkboxes.length; i++) { 
 
    // And stick the checked ones onto an array... 
 
    if (checkboxes[i].checked) { 
 
     checkboxesChecked.push(checkboxes[i].value); 
 
    } 
 
    } 
 
    document.getElementById("show").value = checkboxesChecked; 
 

 
}
<form> 
 
     <input type="checkbox" id="bk" name="vehicle" onClick="checkbox();" value="Bike">I have a bike<br></br> 
 
     <input type="checkbox" id="cr" name="vehicle" onClick="checkbox();" value="Car">I have a car<br></br> 
 
     <input type="text" id="show" name="vehicle"><br> 
 
     <input type="submit" value="Showe"> 
 
    </form>

+0

這是你所能得到完美的答案!我正在研究類似的東西,但他完美地回答了這個問題。好一個!! – Fala

+0

我知道法拉和羅伯特韋德謝謝你的回答。非常感謝你的兄弟! – Nebi

+0

我遲到了:),這裏是工作jsfiddle https://jsfiddle.net/pmtL96oq/ – ersinyildiz