Как выделить нужные checkbox одним кликом?
Есть массив
<input type="checkbox" name="checkbox[1]" value="11"> <input type="checkbox" name="checkbox[2]" value="22"> <input type="checkbox" name="checkbox[3]" value="33"> <input type="checkbox" name="all" value="">Все Как сделать, чтобы при нажатии 'Все' помечались именно эти 3 пункта? Просьба дать код |
Здравствуйте!
Судя по вашему сообщению, вы ну совсем не знаете javascript. Освойте основы языка и вопрос отпадет сам, полностью или частично. А с чем не справитесь - поможем. На сайте javascript можно начать изучать с учебника, раздел Основы javascript. Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/ Задавайте конкретные вопросы по ходу дела. Вы просите готовый скрипт с нуля. Это работа, и за нее обычно платят деньги. Для таких сообщений предназначен раздел форума "Работа". Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела. |
Да я пробую, не получается, вот что
<form name="form1" method="post" action=""> <input type="checkbox" name="total" value="checkbox" onClick="checkAll(this.form,'checkbox[]',this.checked)">Отметить все <input type="checkbox" name="checkbox[1]" value="checkbox">1 <input type="checkbox" name="checkbox[2]" value="checkbox">2 <input type="checkbox" name="checkbox[2]" value="checkbox">3 </form> это я пытался немного переделать скрипт, если просто checkbox[] то работало <script type="text/javascript"> function checkAll(oForm, cbName, checked) { oForm.checkbox[1].checked = checked; oForm.checkbox[2].checked = checked; oForm.checkbox[3].checked = checked; } </script> |
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> function getForm( elem ) { if ( elem.form ) return elem.form; var form = elem.parentNode; while ( form && form.nodeName.toLowerCase() != 'form' ) { form = form.parentNode; } return (elem.form = form); } function checkAll( oForm, reName, checked ){ if ( !oForm ) return; var inputList = oForm.getElementsByTagName("input"); for ( var i = 0, elem; (elem = inputList[i++] ); ) { if ( elem.type == 'checkbox' && reName.test( elem.name) ) { elem.checked = checked; } } } </script> </head> <body> <form action=""> <ul> <li><input type="checkbox" name="total" onclick="checkAll( this.form || getForm(this), /checkbox\[\d+\]/, this.checked )"> Check(Uncheck) All</li> <li><input type="checkbox" name="checkbox[0]"/> 1</li> <li><input type="checkbox" name="checkbox[1]"/> 2</li> <li><input type="checkbox" name="checkbox[2]"/> 3</li> <li><input type="checkbox" name="checkbox[3]"/> 4</li> <li><input type="checkbox" name="checkbox[4]"/> 5</li> </ul> </form> </body> </html> |
Спасибо, Вы очень помогли!
|
MCB,
Вариант ... <!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript"> function checkAll(oForm,checked) { oForm['checkbox[1]'].checked = checked; oForm['checkbox[2]'].checked = checked; oForm['checkbox[3]'].checked = checked; } </script> </head> <body> <form name="form1" method="post" action=""> <input type="checkbox" name="total" value="checkbox" onClick="checkAll(this.form,this.checked)">Отметить все <input type="checkbox" name="checkbox[1]" >1 <input type="checkbox" name="checkbox[2]" >2 <input type="checkbox" name="checkbox[3]" >3 </form> </body> </html> |
рони, спасибо, я все думал, что все не подходит, кучу вариантов испробовал
|
на jquery красивее
<!DOCTYPE html> <html> <head> <title></title> <script class="jsbin" src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script> $(function () { $('input[name="total"]').change(function () { $(this).siblings('input').prop('checked', this.checked); }); }); </script> </head> <body> <form name="form1" method="post" action=""> <input type="checkbox" name="total">Отметить все <input type="checkbox" name="checkbox[1]" >1 <input type="checkbox" name="checkbox[2]" >2 <input type="checkbox" name="checkbox[3]" >3 </form> </body> </html> |
Часовой пояс GMT +3, время: 13:30. |