Элементарная задача..
в пхп динамически вываливается много радио кнопок..
echo "<input name=radiobox type=radio id=check".$x.">" хочу узнать какая именно нажата.. var check=0; for (x=0;x<=7;x++) { if (document.getElementById('check'+x).checked==true) { check=x; } } alert(check); ошибок нет, а алерт не вываливается.. т.е после цикла ничего не выполняется.. + еще же как то по полю name можно выцепить порядковый номер радио кнопки? |
Цитата:
var check = 0; for (i=0; i < document.getElementsByName("radiobox").length; i++) { if (document.getElementsByName("radiobox")[i].checked) { check = i; break; } } alert(check); в вашем случае нужно как то так var check=0; for (x=0;x<=7;x++) { if (document.getElementById('check'+x) && document.getElementById('check'+x).checked) { check=x; } } alert(check); |
спасибо!
|
для нормальных браузеров
<input name=radiobox type=radio id=check1> <input name=radiobox type=radio id=check2 checked="checked"> <input name=radiobox type=radio id=check3> <script> alert( document.querySelector( 'input[type=radio]:checked' ).id ); </script> для старых браузеров ИЕ7 например <input name=radiobox type=radio id=check1> <input name=radiobox type=radio id=check2 checked="checked"> <input name=radiobox type=radio id=check3> <script> var el, els = document.getElementsByTagName('input'); for( var i = 0; el = els[ i++ ]; ) { if ( el.type == "radio" && el.checked ) { break; } } alert( el && el.id ); </script> |
Если уж совсем много элементов, можно сделать так, чтобы цикл каждый раз не гонять
<div id="div"> <input name=radiobox type=radio id=check1> <input name=radiobox type=radio id=check2 checked="checked"> <input name=radiobox type=radio id=check3> </div> <script> window.onload = function () { var check = 'check2'; var div = document.getElementById('div'); div.onchange = function (e) { e = e || event; var target = e.target || e.srcElement; check = target.id; alert(check) } } </script> В IE onchange чёт не тянет, тогда onclick |
bes,
браво, надо показывать правильное решение, а не то, которое похоже не ответ. конечно слушать надо событие, а не гонять в цикле элементы. в ИЕ никогда ончендж не работал, зато онклик работает во всех браузерах, не должно возникнуть проблемы. |
Часовой пояс GMT +3, время: 07:03. |