Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выделение всех Checkbox, если выполняется условие 
V
    Опции темы
jumpernsk
Дата 22.2.2009, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 22.12.2007
Где: Новосибирск

Репутация: нет
Всего: нет



Пишу код и возникла странная проблема...

Есть ряд checkbox`ов с именем mark[], а также зависящих от этих марк других чекбоксов с именем exist[mark[].value][]. 

Есть чекбокс, который может пометить все mark[] за один раз - это работает отлично. 

Но вот чекбокс, который должен пометить все exist[mark[].value][] с условием, что необходимый mark[i] должен быть помечен не работает - а помечается или снимается только первая строчка exist[mark[].value][]...

Вот сам код...помогите пожалуйста, на присоединенном скрине хорошо видно проблему.

Вот так идет вызов:

Код

<td>Марка <input type="checkbox" name="total" onclick="checkAll_marks(this.form, 'mark[]', this.checked);" $checked> <img src="/project/images/delete.gif"></td>
<td colspan="2" align="center">Наличие <input type="checkbox" name="total" onclick="checkAllmarkpar(this.form, 'exist', 'mark[]', this.checked);"></td>



Сама функция:

Код

function checkAllmarkpar(oForm, cbName, mark, checked)
{
    var value='';
    var j=0;
    var length=oForm[mark].length;
    for (var i=0; i < length; i++)
    {
        if(oForm[mark][i].checked)
        {
            value=oForm[mark][i].value;
            cbName +='['+value+'][]';
            for (j=0; j < oForm[cbName].length; j++)
                oForm[cbName][j].checked = checked;
        }
    }

}


Это сообщение отредактировал(а) jumpernsk - 22.2.2009, 20:01

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  tt2.JPG 67,90 Kb
PM MAIL WWW ICQ   Вверх
Soah
Дата 22.2.2009, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 18.2.2009

Репутация: 8
Всего: 54



Цитата(jumpernsk @  22.2.2009,  19:59 Найти цитируемый пост)
cbName +='['+value+'][]';

Вот тут при каждой итерации добавляется
Код

var name = cbName + '[' + value + '][]';
for (j=0; j < oForm[name].length; j++)
    oForm[name][j].checked = checked;


Это сообщение отредактировал(а) Soah - 22.2.2009, 20:40
PM MAIL   Вверх
jumpernsk
Дата 22.2.2009, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 22.12.2007
Где: Новосибирск

Репутация: нет
Всего: нет



К сожалению, не помогло : ( 
Самое странное, что цикл останавливается перед той строчкой, когда во второй раз встречается oForm[mark][i].checked...
PM MAIL WWW ICQ   Вверх
jumpernsk
Дата 23.2.2009, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 22.12.2007
Где: Новосибирск

Репутация: нет
Всего: нет



Soah, премного благодарен, хотя работало не из-за этого )

Проблема, как я понял, была в совпадении имен, ибо у меня таких форм на страничке могло быть много. Вопрос решен.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0400 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.