Выбор только 1 значения chexbox
Здравствуйте. На странице стоит несколько checkbox. Как сделать так, чтобы пользователь мог выбрать только одно значение(мог поставить только 1 галочку), а если он выбрал 1 checkbox на других бы галочки убирались (checkbox около 100)
|
var handler = function ( event ){
event = event || window.event;
var target = event.target || event.srcElement;
if ( target.nodeType == 1 && target.nodeName.toLowerCase == "input" && target.type == "checkbox" && target.checked ) {
var inputs = document.getElementsByTagName("input");
for ( var i = 0; inputs[i]; i++ ) {
if ( inputs[i].type="checkbox" && inputs != target ) {
inputs[i].checked = false;
}
}
}
}
if (document.body.addEventListener){
document.body.addEventListener('click', handler, false);
} else if (document.body.attachEvent){
document.body.attachEvent('onclick', handler);
}
|
скажите а как использовать?
я вставил этот скрипт между <script></script>, но галки все равно ставятся |
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<ol>
<li><input type="checkbox" name="" id=""/></li>
<li><input type="checkbox" name="" id=""/></li>
<li><input type="checkbox" name="" id=""/></li>
<li><input type="checkbox" name="" id=""/></li>
<li><input type="checkbox" name="" id=""/></li>
<li><input type="checkbox" name="" id=""/></li>
<li><input type="checkbox" name="" id=""/></li>
<li><input type="checkbox" name="" id=""/></li>
<li><input type="checkbox" name="" id=""/></li>
<li><input type="checkbox" name="" id=""/></li>
</ol>
<script type="text/javascript">
var handler = function ( event ){
event = event || window.event;
var target = event.target || event.srcElement;
if ( target.nodeType == 1 && target.nodeName.toLowerCase() == "input" && target.type == "checkbox" && target.checked ) {
var inputs = document.getElementsByTagName("input");
for ( var i = 0; inputs[i]; i++ ) {
if ( inputs[i].type == "checkbox" && inputs[i] != target ) {
inputs[i].checked = false;
}
}
}
}
if (document.addEventListener){
document.addEventListener('click', handler, false);
} else if (document.attachEvent){
document.attachEvent('onclick', handler);
}
</script>
</body>
</html>
|
спасибо. изините за нескромность, но последний вопрос:
к примеру есть несколько chexbo: chexbox0 chexbox1 chexbox2 chexbox3 ..... chexboxN как сделать так, чтобы при нажатии на chexbox0 с остальных chexbox галочка снималась, а при нажатии на любой другой, снималась галочка с chexbox0 ? |
Цитата:
|
<div>
<input id="chexbox0" type="checkbox" onClick="selCheckbox(this);"/>
<input id="chexbox1" type="checkbox" onClick="selCheckbox(this);"/>
<input id="chexbox2" type="checkbox" onClick="selCheckbox(this);"/>
<input id="chexbox3" type="checkbox" onClick="selCheckbox(this);"/>
</div>
<script>
function selCheckbox(obj)
{
var parent = obj.parentNode;
if (obj.id != 'chexbox0')
parent.getElementById('checkbox0').checked = false;
else
{
var checks = parent.getElementsByTagName('input');
for(var i in checks)
{
if (checks[i].id != obj.id)
checks[i].checked = false;
}
}
}
</script>
но данный скрипт позволяет выбирать все значения, а мне нужно, чтобы при выборе любого другого chexbox, кроме chexbox0, с chexbox0 убиралась галочка (checked = false). Но как это сделать? |
Цитата:
|
это любому понятно. но я спрашиваю не потому, что не знаю алгоритма, а потому, что непонятен процесс реализации(((
|
Amateur, это букварская задачка. Её дают сааамым новичкам при изучении языка и ДОМ-модели... Что именно в ней может быть не понятно?
Как работать с элементами и всё нужное из js есть в твоём же примере. |
| Часовой пояс GMT +3, время: 16:16. |