Отметить n-ое количество checkbox

Тема в разделе "Другие языки", создана пользователем kactetus, 5 дек 2010.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    Помогите сделать следующие

    Есть форма с чекбоксами.

    PHP:
    <form id="site1">
    <
    input type="checkbox" name="check1"/>Checkbox #1 <br />
    <input type="checkbox" name="check2" />Checkbox #2 <br />
    <input type="checkbox" name="check3" />Checkbox #3 <br />
    <input type="checkbox" name="check4" />Checkbox #4
    </form>
    Нужно чтобы при нажатии на
    Первую кнопку отмечались, checkbox 1,4,5,10
    Вторую кнопку отмечались, checkbox 3,4,8,11
    Ну и т.д.

    Заранее спасибо.
     
  2. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    Например так:
    HTML:
    
    <html>
    <head>
    <script type="text/javascript">
    function check_some_checkbox() {
    	var elems_temp = document.getElementById('site1').getElementsByTagName('input');
    	var elems = [];
    	for(var i=0, j=0; i < elems_temp.length; i++) {
    		if(elems_temp[i].type=='checkbox') {
    			elems[j++] = elems_temp[i];
    		}
    	}
    	for(var i=0; i < arguments.length; i++) {
    		elems[arguments[i]-1].checked = true;
    	}
    	
    }
    </script>
    <style>
    </style>
    </head>
    <body>
    <form id="site1"> 
    <input type="checkbox" name="check1"/>Checkbox #1 <br /> 
    <input type="checkbox" name="check2" />Checkbox #2 <br /> 
    <input type="checkbox" name="check3" />Checkbox #3 <br /> 
    <input type="checkbox" name="check4" />Checkbox #4 <br /> 
    <input type="checkbox" name="check5" />Checkbox #5 <br /> 
    </form>
    <button onclick="check_some_checkbox(1,3,4)">1,3,4</button>
    <button onclick="check_some_checkbox(1,3,5)">1,3,5</button>
    </body>
    </html>
    
     
  3. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    Alternator. Отдельно все работает. Но в моем случае почемуто не хочет. И еще как можно сделать такое.
    У меня выбраны 3,4 checkbox
    При нажатии на кнопку 1 Выбираются 1,2 , а которые выбраны отменяютя

    if (checked == false){checked = true}else{checked = false}

    PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <
    html>
    <
    head>
    <
    title>Индексация поисковиками</title>
    <
    META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    <
    META HTTP-EQUIV="Pragma" content ="no-cache">
    <
    link rel="stylesheet" type="text/css" href="css/allmoving.css" />
    <
    script type="text/javascript" src="scripts/table_sort.js"></script>


    <script type="text/javascript">
    function check_some_checkbox() {
        var elems_temp = document.getElementById("site1").getElementsByTagName("input");
        var elems = [];
        for(var i=0, j=0; i < elems_temp.length; i++) {
            if(elems_temp[i].type=="checkbox") {
                elems[j++] = elems_temp[i];
            }
        }
        for(var i=0; i < arguments.length; i++) {
            elems[arguments[i]-1].checked = true;
        }
    }
    </script>

    <LINK REL="StyleSheet" HREF="style.css" TYPE="text/css">
    </head>
    <body>


    <div align="center" style="color:#0099FF "><strong>Скрипт проверки индексации сайтов/доров в основных поисковиках.</strong></div>
    <input type="button" onClick="check_some_checkbox(1,3,4)"  style="width:15%; BORDER: #aeafb6 1pt solid; FONT-FAMILY: Verdana;padding:3px;FONT-SIZE: 11px" value = "Проверить Тиц и Pr"/>&nbsp;
    <button onclick="check_some_checkbox(1,3,4)" value = "Проверить Тиц и Pr" >1,3,4</button>
    <form method="get" target="res" action="indexer.php" id="form1">
    <table width="100%"  cellspacing="0" cellpadding="0" >
    <tr>
    <td width="100%" valign="top"  colspan="2">

    <table class="m" width="100%">
    <tr>
    <td valign="top" width="16%">
    <div class="name">
    <input type="hidden" name="opi">
      <img src="im/goo.gif" alt="Гугль"> - Google.com<br>
    <table width="100%"  border="0" cellpadding="2">
      <tr>
        <td>- Гугл Pr <br>
             - Страниц в индексе<br>
                - Страниц без соплей</td>
        <td width="15px">
    <input type="checkbox" name="check13" >
    <input type="checkbox" name="check1" >
    <input type="checkbox" name="check6" ></td>
      </tr>
    </table>
    </div>
    </td>

    <td valign="top" width="18%">
    <div class="name">
    <img src="im/yah.gif" alt="Yahoo"> - Yahoo.com
    <table width="100%"  border="0" cellpadding="2">
      <tr>
        <td>- Страниц в индексе<br>
           - Кол-во беков #1<br>
           - Кол-во беков #2</td>
        <td width="15px"><input type="checkbox" name="check5" >
    <input type="checkbox" name="check8" >
    <input type="checkbox" name="check9" > </td>
      </tr>
    </table>
    </div>
    </td>

    <td valign="top" width="15%"><div class="name"> <img src="im/msn.gif" alt="MSN"> Bing.com<br>
    <table width="100%"  border="0" cellpadding="2">
      <tr>
        <td>- Cтраниц в индексе</td>
        <td width="15px"> <input type="checkbox" name="check4" ></td>
      </tr>
    </table>
    </div>
    </td>


    <td valign="top" width="16%"> <div class="name">
    <img src="im/ya.gif" alt="Яндекс"> + <img src="im/ram.gif" alt="Рамблер"> = RU'net
    <table width="100%"  border="0" cellpadding="2">
      <tr>
        <td>- ТИЦ<br>
           - Страниц в индексе <br>
            - Rambler индекс<br>
            - Yandex Qip индекс</td>
        <td width="15px">
    <input type="checkbox" name="check14" checked >
    <input type="checkbox" name="check2"  >
    <input type="checkbox" name="check3" >
    <input type="checkbox" name="check16" >
    </td>
      </tr>
    </table>
    </div></td>



    <td valign="top" width="17%"> <div class="name"> <img src="im/alex.gif" alt="Alexa"> + <img src="im/age.gif" alt="Age"> +  <img src="im/ip.gif" alt="ip">
    <table width="100%"  border="0" cellpadding="2">
      <tr>
        <td>- Рейтинг Alexa<br>
          - Возраст домена <br>
          - IP сервера</td>
        <td width="15px">
    <input type="checkbox" name="check7" >
    <input type="checkbox" name="check10" >
    <input type="checkbox" name="check11" >
     </td>
      </tr>
    </table>
    </div></td>



    <td valign="top" width="15%"> <div class="name"> <img src="im/who.gif" alt="Whois"> + <img src="im/clock.gif" alt="задержка">
    <table width="100%"  border="0" cellpadding="2">
      <tr>
        <td>- WhoIs<br>
           - Задержка (сек)
    </td>
        <td width="15px"> <input type="checkbox" name="check12" ><br>
    <SELECT name=sleep></td>
      </tr>
    </table>
    </div></td>

    </tr>
    </table>

    </body>
    </html>
     
  4. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    ты эту строчку у индусов позаимствовал? :)
    Код:
    if (checked == false){checked = true}else{checked = false}
    так же намного проще:
    Код:
     checked=!checked;
     
  5. Phrack

    Phrack

    Регистр.:
    3 ноя 2010
    Сообщения:
    264
    Симпатии:
    38
    ну если уж на то пошло, то лучше делать так:)
    PHP:
            <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
            <script type="text/javascript">
                function check_some_checkbox(){
                    for (var i=0; i < arguments.length; i++)
                    {
                        $('input[name=check'+arguments[i]+']').attr('checked', !$('input[name=check'+arguments[i]+']').attr('checked'));
                    }
                }
            </script>
     
    kactetus нравится это.
Статус темы:
Закрыта.