Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

использование javascript

400
19 декабря 2008 года
ArtemS2006
272 / / 12.01.2008
Здравствуйте! Мне необходимо для asp.net контрола CheckBoxList при помощи клиентского скрипта пометить/снять все галочки. Не могу понять, как получить идентификаторы всех нужных мне чекбоксов.

Для GridView видел такой код:
 
Код:
protected void CheckBoxColumn_PreRender(object sender, EventArgs e)
    {
        CheckBox checkBox = (CheckBox)sender;
        ClientScript.RegisterArrayDeclaration("CheckBoxIDs", String.Format("'{0}'", checkBox.ClientID));
    }


CheckBoxColumn_PreRender() была повешана на событие PreRender элемента CheckBox который находился в ItemTemplate GridView.
При попытке повесить обработчик на PreRender контрола CheckBoxList
и загнать все клиентские ид чекбоксов в массив ничего не получается, поскольку в аспнет всё делается через жопу, а конкретно в данном случае: на событиях PreRender и DataBound контрол CheckBoxList почемуто содержит только один чекбокс с пустым текстом. Хотя, согласно документации, он уже должен быть заполнен.

Подскажите, как мне обойтись чистым жабаскриптом? Допустим, я создам обработчик для кнопки, который будет перебирать все дочернии контролы клиентского CheckBoxList (он рендерится как таблица), и присваивать найденным чекбоксам checked=true?
400
19 декабря 2008 года
ArtemS2006
272 / / 12.01.2008
вот такую функцию написал всё работает =)
Код:
function checkAllNodes(check)
{
    var tbl = document.getElementById('<%=NodesCheckBoxList.ClientID%>');
    var inputs = tbl.getElementsByTagName("input");
    for (var i = 0; i < inputs.length; ++i)
    {
        if (inputs.type = "checkbox")
        {
            inputs.checked = check;
        }
    }
}
5
19 декабря 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: ArtemS2006
вот такую функцию написал всё работает

У меня другая, где list_id - клиентский идентификатор чекбокс листа:

 
Код:
function InvertSelection(list_id) {
    var i = 0;
    while(true) {
        var item_id = list_id + '_' + i++;
        var item = document.getElementById(item_id);
        if(item == null)
            break;
        item.checked = !item.checked;
    }
}
Разницы, в принципе, ни какой.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог