checkbox не отмечается
<form name="sel"> <input type='checkbox' value='1'> <input type='checkbox' value='2'> <input type='checkbox' value='3'> <input type='checkbox' value='4'> <input type='checkbox' value='5'> <input type='checkbox' value='6'> <input type='checkbox' value='7'> </form>
var s = document.forms.sel;
s.onchange = function() {
var l = s.querySelectorAll('[type="checkbox"]:checked');
if (l.length > 1){
l[0].checked = false;
i = l[1].value;
}else{
i = l[0].value;
}
document.getElementById('text').value = i;
}
корректно отрабатывает только в сторону увеличения... а c меньшим индексом становяться не активными(как это вообще?)) это фича такая или я ерундой занимаюсь, спасибо заранее!. |
yashka,
а чего хотел то? |
Ну чтоб при нажатии приведущая галочка снималась
|
yashka,
а если нажали тоже самое? |
ну галочка должна снятся (не принципиально) главное чтоб она снялась при нажатии следующей
|
yashka,
а радиокнопки никак?
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<form name="sel">
<input type='checkbox' value='1'>
<input type='checkbox' value='2'>
<input type='checkbox' value='3'>
<input type='checkbox' value='4'>
<input type='checkbox' value='5'>
<input type='checkbox' value='6'>
<input type='checkbox' value='7'>
<textarea id="text" name=""></textarea></form>
<script>
var s = document.forms.sel;
s.onchange = function(event) {
var l = s.querySelectorAll('[type="checkbox"]:checked'),elem = event.target, i = 0;
if (elem.type == 'checkbox'){
[].forEach.call(l, function(el) {
el.checked = el == elem;
if (el.checked) i = el.value;
});
document.getElementById('text').value = i;
}
}
</script>
</body>
</html>
|
без разницы.
спасибо. |
yashka,
поставьте радиокнопки и скрипт будет в 1 строку |
yashka,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<form name="sel">
<input type='radio' value='1' name="z">
<input type='radio' value='2' name="z">
<input type='radio' value='3' name="z">
<input type='radio' value='4' name="z">
<input type='radio' value='5' name="z">
<input type='radio' value='6' name="z">
<input type='radio' value='7' name="z">
<textarea id="text" name=""></textarea></form>
<script>
var s = document.forms.sel;
s.onchange = function(event) {
var l = s.querySelector('[name="z"]:checked');
document.getElementById('text').value = l.value||0;
}
</script>
</body>
</html>
|
ещё раз спасибо
|
| Часовой пояс GMT +3, время: 00:08. |