На самом деле, я хочу удалить определенный флажок div из в любое время. Как попытка дать функциональность, которую пользователь может добавить или удалить флажок.
Я написал код, который я пытаюсь добавить или убрать флажок, но когда я пытаюсь снять флажок, он не работает, и я не понимаю, в чем проблема.
Кто-нибудь может это исправить?
function uncheckAll2() {
var inputs = document.querySelectorAll('input[name = "todo[]"]');
for (var i = 0; i < inputs.length; i++) {
inputs[i].checked = false;
}
}
function removeElement(elementId) {
// Removes an element from the document
var element = document.getElementById(elementId);
element.parentNode.removeChild(element);
}
function addItem() {
var ul = document.getElementById('ul'); //ul
var li = document.createElement('li');
var div = document.createElement('div'); //li
var checkbox = document.createElement('input');
checkbox.type = "checkbox";
checkbox.value = 1;
checkbox.name = "todo[]";
checkbox.className = "textt";
div.appendChild(checkbox);
var text = document.getElementById('texto');
div.appendChild(document.createTextNode(text.value));
li.appendChild(div);
ul.appendChild(li);
}
function addElement(elementId, html) {
// Adds an element to the document
newElement.setAttribute('id', elementId);
newElement.innerHTML = html;
}
var checkId = 0;
function addcheck() {
checkId++; // increment fileId to get a unique ID for the new element
var html = '<a href = "" onclick = "javascript:removeElement( checkId ); return false;">Remove</a>';
addElement( checkId, html);
}
var button = document.getElementById('btn');
button.onclick = addItem , addcheck() ;
<body>
<h1>Add or remove element</h1>
<hr>
<br>
<ul id = "ul">
</ul>
</div>
<button type = "button" id = "btn" onclick = "addItems , addFile() ">Add More</button>
<input type = "text" id = "texto">
<input type = "button" onclick = "uncheckAll2()" class = "btn btn-link" value = "Reset">
вы пытались использовать консоль? щелкните правой кнопкой мыши, и вы увидите элемент проверки в браузере, а затем выберите консоль, и вы увидите, есть ли какие-либо ошибки в вашем коде, например, новый элемент не определен в вашем коде
вот рабочий код в порядке Эдди?
function uncheckAll2() {
var inputs = document.querySelectorAll('input[name = "todo[]"]');
for (var i = 0; i < inputs.length; i++) {
inputs[i].checked = false;
}
}
function removeElement(linkElement) {
// Removes an element from the document
var element = linkElement.parentNode.parentNode;//to get to the li element
element.parentNode.removeChild(element);
}
function addItem() {
var ul = document.getElementById('ul'); //ul
var li = document.createElement('li');
var div = document.createElement('div'); //li
var checkbox = document.createElement('input');
checkbox.type = "checkbox";
checkbox.value = 1;
checkbox.name = "todo[]";
checkbox.className = "textt";
div.appendChild(checkbox);
var text = document.getElementById('texto');
div.appendChild(document.createTextNode(text.value));
addcheck(div)
li.appendChild(div);
ul.appendChild(li);
}
function addElement(div,elementId, html) {
// Adds an element to the document
div.setAttribute('id', elementId);
div.innerHTML += html;
}
var checkId = 0;
function addcheck(div) {
checkId++; // increment fileId to get a unique ID for the new element
var html = '<a class = "link" href = "" onclick = "javascript:removeElement( this ); return false;">Remove</a>';
addElement( div, checkId, html);
}
var button = document.getElementById('btn');
button.onclick = addItem ;
добавьте этот css просто для удобства чтения, но я думаю, вы добавите больше в css
<style>
.link{
padding-left: 10px;
}
</style>
Это добавление ссылки для удаления перед флажком. Я хочу добавить это после флажка. Как я могу добиться этого в текущей ситуации? @юсеф али
Братан, вчера вечером я думал, что, если мы также сделаем эти тексты флажков редактируемыми, как мы редактируем комментарий. Как мы этого добьемся?
вы можете изменить тип ввода здесь checkbox.type = "checkbox"; поэтому все, что вы хотите, отредактируйте здесь, например, checkbox.type = "text";
Есть способ сделать это с помощью одной функции:
<body>
<h1>Add or remove element</h1>
<hr>
<br>
<div>
<ul id = "ul">
</ul>
</div>
<button type = "button" id = "btn" onclick = "addItem()">Add More</button>
<input type = "text" id = "texto">
<input type = "button" onclick = "uncheckAll2()" class = "btn btn-link" value = "Reset">
</body>
</html>
<script type = "text/javascript">
function uncheckAll2() {
var inputs = document.querySelectorAll('input[name = "todo[]"]');
for (var i = 0; i < inputs.length; i++) {
inputs[i].checked = false;
}
}
var checkId = 0;
function addItem() {
var ul = document.getElementById('ul'); //ul
var li = document.createElement('li');
var div = document.createElement('div'); //li
var checkbox = document.createElement('input');
checkbox.type = "checkbox";
checkbox.value = 1;
checkbox.name = "todo[]";
checkbox.className = "textt";
li.id = checkId;
removeLink = '<a href = "" onclick = "javascript:document.getElementById(\''+checkId+'\').remove();return false;">Remove</a>';
checkId++;
div.appendChild(checkbox);
var text = document.getElementById('texto');
div.appendChild(document.createTextNode(text.value));
div.innerHTML+=removeLink;
li.appendChild(div);
ul.appendChild(li);
}
</script>
Переменная
newElement
нигде не определена