вывести все val чекбоксов на странице
На странице есть чекбоксы:
//подключение jquery <input type="checkbox" name="id[]" value="12"> <input type="checkbox" name="id[]" value="123"> <input type="checkbox" name="id[]" value="17"> <input type="checkbox" name="id[]" value="12233"> <div id="testing"></div> <script> var test = $("input[name='id[]']:checked").val(); </script> Как мне вывести в id="testing" те которые я выбрал ? Вот допустим, 123 и 17 ?! $('#testing').html(test); - не выводит. Может нужно как то вывести массив? Вообщем подскажите плиз! |
<input type="checkbox" name="id[]" value="12"> <input type="checkbox" name="id[]" value="123"> <input type="checkbox" name="id[]" value="17"> <input type="checkbox" name="id[]" value="12233"> <div id="testing"></div> <script> var inps=$("input[name='id[]']"); inps.change(function(){ var ololo=''; inps.each(function(){if($(this).is(':checked')){ololo+=$(this).val()+'; ';}}); $('#testing').html(ololo); }); </script> |
Отлично работает!
А как сделать что бы при загрузке страницы сразу запустился этот код? ну тоесть сейчас в div тестинг вносятся данные только когда я клацну на чекбокс. А нужно что бы после загрузки страницы если выбран чекбокс то он уже там был. Спасибо! |
Живкерижуть.
// дарят вам массив из элементов, сейчас - чекбоксов. var c = document.getElementsByName('id[]'); var v = []; for(var i=0;i<c.length;i++) if(c[i].checked)) v.push(c[i].value); div.innerHtml=v.join(''<br/>"); Потому что чек-бокс может быть не только нажат, но и отжат самоочевидно. Доставать из иннерхтмля то, что отжато это не упасть-отжаться. И еще, специально для такого рода отчетов есть элемент output. |
Цитата:
function report_ch(name, cont_id) { var elems = null; var cont = null; var check_all = function() { var res = []; for(var i=0;i<elems.length;i++) if(elems[i].checked)) res.push(elem.value); cont.innerHTML = res.join('<br/>'); }; // __construct (function(){ if(!name) return false; var cont = document.getElementById(cont_id); if(!cont) return false; var c = document.getElementsByName('id[]'); if(!c.length) return false; elems=[]; for(var i=0;i<c.length;i++) { c[i].addEventListener('change', check_all, false); elems[i] = c[i] ; } check_all(); // сразу и проверяем } })(); } в конце страницы соответственно <script type="text/javascript">check_ch('id[]', 'testing'); |
было бы забавно еще делать анализ нажатий (в минуту/час/день/месяц/год/с начала Эпохи Unix) и выводить прогноз вероятных нажатий в будущем в различных вариантах (таблица/график/чарт/и т.п.). если подойти к вопросу творчески, тут есть где развернуться
|
Часовой пояс GMT +3, время: 04:12. |