Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Клонируем input checkbox значение name (https://javascript.ru/forum/jquery/64513-kloniruem-input-checkbox-znachenie-name.html)

рони 17.08.2016 18:25

Цитата:

Сообщение от Strongman
document.body.innerHTML +=

это убивает любые обработчики событий

Strongman 17.08.2016 18:56

А что нужно написать?

рони 17.08.2016 19:03

Strongman,
https://learn.javascript.ru/document
Цитата:

11.Добавление и удаление узлов
12.Мультивставка: insertAdjacentHTML и DocumentFragment

aleksandr-n 17.08.2016 23:13

Strongman,
Спасибо что откликнулись мне на помощь но это конечно не то что я хотел.
Цитата:

Сообщение от Strongman
Может кто-нибудь скажет почему так происходит, т.е. почему после окончания записи в строке-переменной onchange находится null???

По поводу того что вы спрашиваете я нашёл вот такой не большой плагин https://github.com/uoziod/deep-checkbox может он вам поможет в поисках ответа жаль то что он работает со списком LI

Strongman 18.08.2016 06:01

Я вообще проблему решил вчера вот так:
for(prop in mi)
{
//foreach
mi[prop].onchange = function add()
    {
    var element = document.createElement('div');
    element.innerHTML = "Изменен "+prop+"-ый checkbox";
    element.id = 'div123';
    document.body.appendChild(element);    
    }
}

Александр, я думаю, что здесь есть элементы того, что Вы хотите.

Strongman 18.08.2016 10:38

$('#area input:checkbox').each(function(i, v){
document.body.innerHTML += "<br>Прошли по "+i+"-му элементу";

	this.onchange = function OnChangeFunction(){
	        document.body.innerHTML += "Изменен "+i+"-ый checkbox";
		if(this.checked){
			$('#clones span')[i].html = $('label')[i].html;
			document.body.innerHTML += "Выделен "+i+"-ый checkbox";
		} 
	}
});
- вот этот код работает некорректно, уже не помню что там, но работает некорректно. Имею ввиду не весь код, а выбор INPUT-ов в первой строке. Откуда Вы его взяли? Просто так откуда-то скопировали?
Я написал свой:
var mi = document.getElementsByTagName('input'),
ms = document.getElementsByTagName('span');
- мне кажется он работает лучше.

Strongman 18.08.2016 13:24

Ооо, ничего себе, заработало! Я даже и не ждал этого:).
var prop, n = 0;
var mi = document.getElementsByTagName('input'),
ms = document.getElementsByTagName('span');

for(prop in mi)
{
//foreach
mi[prop].onchange = function add()
{                      
ms[this.nextSibling.innerHTML-1].innerHTML = this.nextSibling.innerHTML;       
}
n++;    
}

warren buffet 18.08.2016 20:02

Цитата:

Сообщение от aleksandr-n
Нужно checkbox который по клику сделает clon значения name и сможет передать его в другой input в атрибут value без лишних элементов HTMl и при этом нужно чтоб были классы там чекбоксы будут множественные.

По-моему тут нужно "грабить корованы".

ТС, просто опиши русским языком, какой интерфейс ты делаешь. Может быть оно давно сделано, или делается не корованами.

Цитата:

Сообщение от Strongman
this.nextSibling.innerHTML-1

И работает? То есть смотри: var foo="На XXVI съезде Леонид Ильич сказал"-1 и получается типа XXV-й съезд?

Strongman 19.08.2016 04:59

Цитата:

Сообщение от warren buffet
И работает? То есть смотри: var foo="На XXVI съезде Леонид Ильич сказал"-1 и получается типа XXV-й съезд?

- сказал же, что работатет. jQuery не работает. От вашего jQuery остались рожки да ножки. На простых и деревянных функция работает гораздо надежнее, чем этот ваш jQuery. Я так и подозревал, кстати.

Strongman 19.08.2016 05:01

Попробуй сам, только перед скриптом нужно вставить вот этот HTML:
<script src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js" type="text/javascript"></script>

<div id="area">
<input type="checkbox"><label>1</label></input><br>
<input type="checkbox"><label>2</label></input><br>
<input type="checkbox"><label>3</label></input><br>
<input type="checkbox"><label>4</label></input><br>
<input type="checkbox"><label>5</label></input><br>
<input type="checkbox"><label>6</label></input><br>
<input type="checkbox"><label>7</label></input><br>
<input type="checkbox"><label>8</label></input><br>
<input type="checkbox"><label>9</label></input><br>
</div><br>

<div id="clones">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>


Часовой пояс GMT +3, время: 16:17.