Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работают радио кнопки которые генерируются JS (https://javascript.ru/forum/misc/45860-ne-rabotayut-radio-knopki-kotorye-generiruyutsya-js.html)

Apelcun77 18.03.2014 19:43

Не работают радио кнопки которые генерируются JS
 
<html>
<head>
<meta http-eqiv="content type" content="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="style.css">
<script src="http://code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
function lookimgcolor(){
for (i = 1; i <= 2; i++) {
document.getElementById("colorcloth").innerHTML = document.getElementById("colorcloth").innerHTML + '<input type="radio" name="color" value="' + i + '">' + '<img src="images/createclothimg/color/'+ i +'.jpg" width="100">';
}
}

$(document).ready(function(){

    $("input").click(function () {
         $("#clothes").html("вы навели на кртинку номер 1");
    });

  });
</script>
</head>
<body onload="lookimgcolor();">
<div id="content">
<div id="post-main">
<table>
<form action="request.php" method="post" name="feedback" onSubmit="">
<tr><td id="clothes"><img src="images/createclothimg/color/1.jpg"></td>
<td id="func_clothes" width="500">
<p>Выбирете пол:</p>
<p><input type="radio" name="floor" value="male">Мужской
<input type="radio" name="floor" value="female">Женский
</p>
<p>Выберите цвет:</p>
<div id="colorcloth">
</div>
</td></tr>
</form>
<table>
</div> 
</div>
</body>
</html>

Где "выберете пол" радиокнопки работают(при нажатии срабатывает функция замены на "вы навели на кртинку номер 1" , а вот радиокнопки которые создаются функцией lookimgcolor() не работают, при нажатии на них ничего не меняется, хоть и функция замены стоит для всех input, подскажите что делать пожалуйста!

BETEPAH 18.03.2014 19:49

$('#colorcloth').on('click', 'input', function () {})

danik.js 18.03.2014 20:23

Цитата:

Сообщение от Apelcun77
onload="lookimgcolor()

Ну нафига, нафига эта херня, если есть $(document).ready ??
Цитата:

Сообщение от Apelcun77
document.getElementById("colorcloth").innerHTML = document.getElementById("colorcloth").innerHTML +

Все проще, учи основы javascript. Вместо a = a + b пиши a += b

К слову, перезаписывать html - неблагодарное дело. При этом происходит уничножение, парсинг и пересоздание элементов, короче работа впустую.
Цитата:

Сообщение от Apelcun77
for (i = 1; i <= 2; i++)

А где ты i объявил? (где ключевое слово var)?
Цитата:

Сообщение от Apelcun77
charset=windows-1251

Че за говнецо вместо нормальной utf-8 кодировки? Ты извращенец чели?

Короче, садись, два.

danik.js 18.03.2014 20:26

Цитата:

Сообщение от Apelcun77
http-eqiv

Вообще-то нет такого атрибута, но есть http-equiv
Цитата:

Сообщение от Apelcun77
content type

Вообще-то нет такого http-заголовка, но есть Content-Type (хотя регистр не важен)


Снижаю оценку, тебе кол.

danik.js 18.03.2014 20:38

Цитата:

Сообщение от Apelcun77
<table>
<form action="request.php" method="post" name="feedback" onSubmit="">

Вообще-то форма не может быть прямым потомком <table>
Пустой атрибут onsubmit че делает?

Родителей в школу!!!

danik.js 18.03.2014 20:39

Цитата:

Сообщение от Apelcun77
</form>
<table>

Как, еще одна таблица? Если со зрением плохо, то хотя бы редактор настрой на подсветку ошибок.

danik.js 18.03.2014 20:39

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
	<div id="content">
	<div id="post-main">
	<form action="request.php" method="post" name="feedback">
		<table>
			<tr><td id="clothes"><img src="images/createclothimg/color/1.jpg"></td>
				<td id="func_clothes" width="500">
					<p>Выбирете пол:</p>
					<p>
						<label><input type="radio" name="floor" value="male">Мужской</label>
						<label><input type="radio" name="floor" value="female">Женский</label>
					</p>
					<p>Выберите цвет:</p>
					<div id="colorcloth"></div>
				</td>
			</tr>
		</table>
	</form>
	</div>
	</div>
	<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
	<script>
	(function() {
		var parent = $('#colorcloth');
		for (var i = 1; i <= 2; i++) {
			var input = $('<input>', {type: 'radio', name: 'color', value: i});
			var image = $('<img>', {width: 100, src: 'images/createclothimg/color/' + i + '.jpg'});
			parent.append(input, image);
		}
		$('input', parent).click(function () {
			$("#clothes").html("вы навели на кртинку номер 1");
		});
	})();
	</script>
</body>
</html>


Учись, студент :)


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