2016-09-06 3 views
0

Я пытаюсь получить все флажки проверенных значений в поле ввода. Я использую javascript для получения значений, но он показывает только одно проверенное значение. Когда я проверяю другой флажок, он отображает только второй. Вот что я сделал до сих пор:показать флажок checkbox на 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

Я знаю Fala, и RobertWade спасибо за ваш ответ. Большое спасибо! – Nebi

+0

я опаздываю :), вот рабочий jsfiddle https://jsfiddle.net/pmtL96oq/ – ersinyildiz

Смежные вопросы