Вход

Просмотр полной версии : Поиск: getElement для новичка


insulin
03.02.2016, 08:15
<table id="age-table">
<tr> <td>Ваш возраст:</td> <td>
<label>
<input type="radio" name="age" value="young" checked> младше 18
</label>
<label>
<input type="radio" name="age" value="mature"> от 18 до 50
</label>
<label>
<input type="radio" name="age" value="senior"> старше 60
</label>
</td> </tr> </table>
<script>
var elements = document.getElementsByTagName('input');
for (var i = 0; i < elements.length; i++) {
var input = elements[i];
alert( input.value + ': ' + input.checked );
}
// пример https://learn.javascript.ru/searching-elements-dom
</script>

<script>
var b = document.getElementsByTagName('input');
for (var i = 0; i < b.length; i++) {
var tmp = b[i];
if (tmp.name == "age") {
alert ("i = " + i + " tmp.value = " + tmp.value);
// if (tmp.addEventListener) { //зачем это условие?
tmp.addEventListener('click', function() { alert("i = " + i + tmp.value + ' selected: ' + tmp.checked ) }, false);
// }
}
}
// пример http://javascript.ru/tutorial/events/comparison
</script>


1. почему в результате клика на любой инпут i=3, a value = senior?
2. как сделать чтоб выводился текущий input, кликнутый?

рони
03.02.2016, 09:02
insulin,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:


... ваш код...



О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони
03.02.2016, 09:07
insulin,
1. http://javascript.ru/basic/closure#primer-oshibochnogo-ispolzovaniya
2. смотрите 1.
или forEach https://learn.javascript.ru/traversing-dom#коллекции-не-массивы