Как выделить все чекбоксы на странице?

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

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

    toxass Постоялец

    Регистр.:
    24 июл 2007
    Сообщения:
    114
    Симпатии:
    15
    Есть страница подтверждения с около 100 чекбоксов, как возможно отметить эти чекбоксы? Видел раньше код на JS (нужно было исполнить этот код на странице с чекбоксами), который это делал, но сейчас не могу его найти…
     
  2. LEE_ROY

    LEE_ROY

    Регистр.:
    26 янв 2007
    Сообщения:
    205
    Симпатии:
    20
    PHP:
    function SetAllCheckBoxes(FormNameFieldNameCheckValue)
    {
        if(!
    document.forms[FormName])
            return;
        var 
    objCheckBoxes document.forms[FormName].elements[FieldName];
        if(!
    objCheckBoxes)
            return;
        var 
    countCheckBoxes objCheckBoxes.length;
        if(!
    countCheckBoxes)
            
    objCheckBoxes.checked CheckValue;
        else
            
    // set the check value for all check boxes
            
    for(var 0countCheckBoxesi++)
                
    objCheckBoxes[i].checked CheckValue;
    }
    первая ссылка в гугле - js checkbox check all
     
  3. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    этот код выделит чекбоксы только в пределах одной формы. если нужно выделять вообще все боксы на странице, лучше выдать им идентификаторы со сквозной нумерацией и потом в цикле при помощи getElementById выставлять им чек
     
  4. jo0o00nyy

    jo0o00nyy Постоялец

    Регистр.:
    12 май 2010
    Сообщения:
    65
    Симпатии:
    27
    Если не стоит JQuery, то попробуй так.
    Код:
    function checkAllBoxes(checked)
    {
    	if (!checked)
    		checked = '+';
    	for(var FormName in document.forms)
    	{
    		for(var j in document.forms[FormName].elements)
    		if (document.forms[FormName].elements[j].type && document.forms[FormName].elements[j].type == 'checkbox')
    		{
    			switch(checked)
    			{
    				case '-':
    					document.forms[FormName].elements[j].checked = false;
    					break;
    				case '+':
    					document.forms[FormName].elements[j].checked = true;
    					break;
    				case '*':
    					document.forms[FormName].elements[j].checked = 1 - document.forms[FormName].elements[j].checked;
    					break;
    			}
    		}
    	}
    }
    
    checkAllBoxes('-'); снять отметки
    checkAllBoxes('+'); поставить отметки
    checkAllBoxes('*'); инвертировать отметки
    Код проверялся в ФФ.
     
  5. zxxx

    zxxx Постоялец

    Регистр.:
    9 окт 2009
    Сообщения:
    148
    Симпатии:
    4
    Так же если пригодиться, надо будет вручную, в roboform есть такая функция, нажимаешь "отметить все поля" и все чебоксы и радиобоксы (на одном значении) отмечаются
     
Статус темы:
Закрыта.