вывести все 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, время: 18:51. |