简体   繁体   English

如何从输入中添加值以将选中的复选框列出?

[英]How to add value from input for checked checkboxes to list?

i have problem with add value from input for checked checkboxes to list.I don't know how do to create new elements for suitable ul. 我在从选中的复选框到列表的输入中添加值时遇到问题。我不知道如何为合适的ul创建新元素。

 document.addEventListener("DOMContentLoaded", function() { var checkboxDays = document.querySelectorAll('.checkboxDay'); var allDays = document.querySelector('.allDays'); var noteText = document.querySelector('.note-text') var form = document.querySelector('form'); var btn = document.querySelector('.button'); var dayBoxes = document.querySelectorAll('.dayBox ul'); btn.addEventListener('click', function() { var dataItem = noteText.value; var li = document.createElement('li'); li.innerText = dataItem; for (var i = 0; i < checkboxDays.length; i++) { if (checkboxDays[i].checked) { dayBoxes[i].appendChild(li); } } }); }); 
 <form class="input-form"> <div class='note-cnt'> <input type="text" class="note-text" placeholder="Add your note"></input> </div> <div class="checkbox-cnt"> <h2>Check Day/s</h2> <label>Monday</label><input type="checkbox" class="checkboxDay" /> <label>Tuesday</label><input type="checkbox" class="checkboxDay" /> <label>Wednesday</label><input type="checkbox" class="checkboxDay" /> <label>Thursday</label><input type="checkbox" class="checkboxDay" /> <label>Friday</label><input type="checkbox" class="checkboxDay" /> <label>Saturday</label><input type="checkbox" class="checkboxDay" /> <label>Sunday</label><input type="checkbox" class="checkboxDay" /> <label>AllDays</label><input type="checkbox" class="allDays" /> </div> <button class="button" type="button"> <span>Add item</span> </button> </form> </section> <div class="allBox"> <div class="dayBox"> <h3>Monday</h3> <ul class="monday"></ul> </div> <div class="dayBox"> <h3>Tuesday</h3> <ul class="tuesday"></ul> </div> <div class="dayBox"> <h3>Wednesday</h3> <ul class="wednesday"></ul> </div> <div class="dayBox"> <h3>Thursday</h3> <ul class="thursday"></ul> </div> <div class="dayBox"> <h3>Friday</h3> <ul class="friday"></ul> </div> <div class="dayBox"> <h3>Saturday</h3> <ul class="saturday"></ul> </div> <div class="dayBox"> <h3>Sunday</h3> <ul class="sunday"></ul> </div> </div> 

This error occurs because you created only one <li> element and actually moved this element inside the loop between <ul> elements. 发生此错误的原因是,您仅创建了一个<li>元素,并且实际上将该元素移到了<ul>元素之间的循环内。 You must create the <li> element for each separate <ul> element inside the loop and append it. 您必须为循环内的每个单独的<ul>元素创建<li>元素并将其附加。

Example: 例:

 document.addEventListener( 'DOMContentLoaded', function () { var checkboxDays = document.querySelectorAll( '.checkboxDay' ), allDays = document.querySelector( '.allDays' ), noteText = document.querySelector( '.note-text' ), form = document.querySelector( 'form' ), btn = document.querySelector( '.button' ), dayBoxes = document.querySelectorAll( '.dayBox ul' ); btn.addEventListener( 'click', function () { var dataItem = noteText.value; for ( var i = 0; i < checkboxDays.length; i++ ) { if ( checkboxDays[ i ].checked ) { var li = document.createElement( 'li' ); li.innerText = dataItem; dayBoxes[ i ].appendChild( li ); } } } ) allDays.addEventListener( 'click', function () { for ( var i = 0; i < checkboxDays.length; i++ ) { checkboxDays[ i ].checked = allDays.checked ? true : false } } ) } ) 
 h3, ul { margin: 0 } 
 <form class="input-form"> <h2>Check Day/s:</h2> <div class='note-cnt'> <input type="text" class="note-text" placeholder="Add your note"> <button class="button" type="button">Add item</button> </div> <div class="checkbox-cnt"> <label>Monday</label><input type="checkbox" class="checkboxDay" /> <label>Tuesday</label><input type="checkbox" class="checkboxDay" /> <label>Wednesday</label><input type="checkbox" class="checkboxDay" /> <label>Thursday</label><input type="checkbox" class="checkboxDay" /> <label>Friday</label><input type="checkbox" class="checkboxDay" /> <label>Saturday</label><input type="checkbox" class="checkboxDay" /> <label>Sunday</label><input type="checkbox" class="checkboxDay" /> <label>AllDays</label><input type="checkbox" class="allDays" /> </div> </form> <br> <div class="allBox"> <div class="dayBox"> <h3>Monday</h3> <ul class="monday"></ul> </div> <div class="dayBox"> <h3>Tuesday</h3> <ul class="tuesday"></ul> </div> <div class="dayBox"> <h3>Wednesday</h3> <ul class="wednesday"></ul> </div> <div class="dayBox"> <h3>Thursday</h3> <ul class="thursday"></ul> </div> <div class="dayBox"> <h3>Friday</h3> <ul class="friday"></ul> </div> <div class="dayBox"> <h3>Saturday</h3> <ul class="saturday"></ul> </div> <div class="dayBox"> <h3>Sunday</h3> <ul class="sunday"></ul> </div> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 获取选中的输入复选框的ID并添加到列表中 - Get the id of the checked input checkboxes and add to a list 如何从列表中删除选中的复选框并将它们添加到另一个列表 - How to remove the checked checkboxes from the list and add them to another list 如何从复选框列表中获取复选框检查值并在选中复选框时调用Ajax函数? - How to Get the check box checked value from list of checkboxes and call an Ajax function when check box is checked? 选中复选框后如何为2D复选框的textarea添加值 - How to add value to textarea of 2D checkboxes when checkbox is checked 如何获取不同复选框的值并计算这些复选框的值并显示在输入字段中? - How to get value of different checkboxes and calculate value of those checked checkboxes and show in the input field? 将选中的复选框列表从Javascript返回到Wicket - Return list of checked checkboxes from Javascript to Wicket 使用.serializeArray从所有选中的复选框中获取价值 - Get value from all checked checkboxes with .serializeArray 如果选中,则从动态创建的复选框中获取值 - Get value from dynamically created checkboxes if checked 如何从复选框数组中检查至少一个复选框,并且复选框中的文本区域不为空白,且其值为“ other”? - How to check at least one checkbox is checked from the array of checkboxes and the text area is not blank on checkbox with value “other” is checked? 如何将选中和未选中的复选框数据添加到Firebase - How to add checked and unchecked checkboxes data to Firebase
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM