Jump to content
  • 0

Чекбоксы


grafnet
 Share

Question

Собственно нашел такой скрипт выделения всех чекбоксов:

<script type="text/javascript">
function setChecked(obj)
{
var str = document.getElementById("text").innerHTML;
str = (str == "отметить" ? "снять" : "отметить");
document.getElementById("text").innerHTML = str;

var check = document.getElementsByName("id[]");
for (var i=0; i<check.length; i++)
{
check[i].checked = obj.checked;
}
}
</script>

<form action="" method="post">
Что Вас больше всего интересует на нашем сайте?<br />
<input type="checkbox" name="id[]" value="1" /> Справочник HTML<br />
<input type="checkbox" name="id[]" value="2" /> Описание свойств CSS<br />
<input type="checkbox" name="id[]" value="3" /> Примеры готовых JavaScript`ов
<p>
<input type="checkbox" name="set" onclick="setChecked(this)" />
<span id="text">отметить</span> все
</p>
</form>

Все бы хорошо, да только нужно, чтобы все чекбоксы отмечались ссылкой, которая будет меняться на "отметить все" и "снять все". Может у кого-то есть варианты как это можно реализовать?

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Собственно нашел такой скрипт выделения всех чекбоксов:

<script type="text/javascript">
function setChecked(obj)
{
var str = document.getElementById("text").innerHTML;
str = (str == "отметить" ? "снять" : "отметить");
document.getElementById("text").innerHTML = str;

var check = document.getElementsByName("id[]");
for (var i=0; i<check.length; i++)
{
check[i].checked = obj.checked;
}
}
</script>

<form action="" method="post">
Что Вас больше всего интересует на нашем сайте?<br />
<input type="checkbox" name="id[]" value="1" /> Справочник HTML<br />
<input type="checkbox" name="id[]" value="2" /> Описание свойств CSS<br />
<input type="checkbox" name="id[]" value="3" /> Примеры готовых JavaScript`ов
<p>
<input type="checkbox" name="set" onclick="setChecked(this)" />
<span id="text">отметить</span> все
</p>
</form>

Все бы хорошо, да только нужно, чтобы все чекбоксы отмечались ссылкой, которая будет меняться на "отметить все" и "снять все". Может у кого-то есть варианты как это можно реализовать?

1. Сделать ссылку

2. Повесить на неё обработчик с функцией.

3. При нажатии вызывается функция, где проходишься по чекбоксам и вырубаешь их или наоборот врубаешь.

Link to comment
Share on other sites

  • 0

Все бы хорошо, да только нужно, чтобы все чекбоксы отмечались ссылкой, которая будет меняться на "отметить все" и "снять все". М

он клик работает и с элементом "a", только чтобы страницу не дергало надо в вызываемую функцию в последней строкой добавить return false;

в итоге получается что то типа:

<script type="text/javascript">
window.onload = function(){
var link = document.getElementById('text');

link.onclick = function (){
var check = document.getElementsByName("id[]");

if (link.innerHTML == "отметить"){
var switcher = true;
link.innerHTML = "снять";

}else{

var switcher = false;
link.innerHTML = "отметить";
}

for (var i=0; i<check.length; i++)
{
check[i].checked = switcher;

}


return false;
}
}

</script>
<form action="" method="post">
Что Вас больше всего интересует на нашем сайте?<br />
<input type="checkbox" name="id[]" value="1" /> Справочник HTML<br />
<input type="checkbox" name="id[]" value="2" /> Описание свойств CSS<br />
<input type="checkbox" name="id[]" value="3" /> Примеры готовых JavaScript`ов
<p>
<a href="#" id="text">отметить</a> все
</p>
</form>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy