Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Выделить все элементы чекбокс / 14 сообщений из 14, страница 1 из 1
11.03.2015, 17:50
    #38901666
UchO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
Доброго дня. Подскажите такой момент. Есть на странице два эл-та чекбокса, формирующиеся как LOV, один зависим от второго.
Хочу добавить возможность по нажатию на кнопку возможность выделить все элементы в чекбоксе. Делаю с помощью DA следующим способом:

this.affectedElements.children("INPUT[type='checkbox']").attr('checked',true);

Создаю такой DA для двух чекбоксов. Для первого чекбокса отрабатывает корректно(выделяет(ставит галочки) для всех элементов чекбокса), для второго, список элементов которого зависим от первого(cascading lov of parent указан первый чекбокс), выделяет только первый элемент из списка, а хотелось бы все-таки все.
...
Рейтинг: 0 / 0
11.03.2015, 18:13
    #38901687
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
UchO,

Сделайте в скрипте
console.log(this.affectedElements);
console.log(this.affectedElements.children("INPUT[type='checkbox']"));
а потом в яваскрипт дебагере смотрите что туда попадает.
...
Рейтинг: 0 / 0
12.03.2015, 08:26
    #38902001
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
Сдается мне в ребенке только 1 чекбокс. Надо селектор править.
...
Рейтинг: 0 / 0
12.03.2015, 08:58
    #38902026
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
GustlyСдается мне в ребенке только 1 чекбокс. Надо селектор править.
Скорее всего дело в асинхронности.
У тебя выделение обоих элементов, по одной кнопке происходит?
...
Рейтинг: 0 / 0
12.03.2015, 09:16
    #38902047
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
UchOДоброго дня. Подскажите такой момент. Есть на странице два эл-та чекбокса, формирующиеся как LOV, один зависим от второго.
Хочу добавить возможность по нажатию на кнопку возможность выделить все элементы в чекбоксе. Делаю с помощью DA следующим способом:

this.affectedElements.children("INPUT[type='checkbox']").attr('checked',true);

Создаю такой DA для двух чекбоксов. Для первого чекбокса отрабатывает корректно(выделяет(ставит галочки) для всех элементов чекбокса), для второго, список элементов которого зависим от первого(cascading lov of parent указан первый чекбокс), выделяет только первый элемент из списка, а хотелось бы все-таки все.

Я предполагаю, что кнопка одна. Я просто поясню, а что делать решайте сами.
1. Нажатие на кнопку.
2. Проставляется чекбоксы на первый элемент.
3. Запускается Ajax запрос, на изменение второго элемента.
4. Ставятся чеки на второй элемент, которые есть вот в данный момент.
5. Возвращается результат Ajax-запроса, с новым списком чекбоксов (без галочек).
...
Рейтинг: 0 / 0
12.03.2015, 10:03
    #38902085
UchO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
Кнопка над каждым чекбоксом разная. (условно не кнопка, а тоже чекбокс, но сути не меняет).
Не могу понять такую вещь: Элемент, на котором все корректно отрабатывает при просмотре html сформирован так:

Код: plaintext
1.
2.
3.
4.
5.
6.
<fieldset id="P474_VS_DEPT" class="checkbox_group">
<input id="P474_VS_DEPT_0" type="checkbox" value="10" name="p_v02">
<label for="P474_VS_DEPT_0">Call Center</label>
<br>
<input id="P474_VS_DEPT_1" type="checkbox" value="15" name="p_v02">
<label for="P474_VS_DEPT_1">Central Billing</label>
<br>

зависимый элемент формируется так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<fieldset id="P474_TOSCHEMES" class="checkbox_group">
<input id="P474_TOSCHEMES_0" type="checkbox" null="" value="1" name="p_v03">
<label for="P474_TOSCHEMES_0">
Administration_CF Security ( П )
<input id="P474_TOSCHEMES_1" type="checkbox" null="" value="2" name="p_v03">
<label for="P474_TOSCHEMES_1">
CAPEX for resale ( П )
</label>
</label>
</fieldset>

Т.е. каждый следующий формируется как вложенный в предыдущий. Изменяется элемент динамически. В зависимости от того, что выбрано в первом, меняется список значений второго. А почему не применяется форматирование, аналогично элементу первому?
...
Рейтинг: 0 / 0
12.03.2015, 10:12
    #38902092
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
UchOДелаю с помощью DA следующим способом:

this.affectedElements.children("INPUT[type='checkbox']").attr('checked',true);

Создаю такой DA для двух чекбоксов. Для первого чекбокса отрабатывает корректно(выделяет(ставит галочки) для всех элементов чекбокса), для второго, список элементов которого зависим от первого(cascading lov of parent указан первый чекбокс), выделяет только первый элемент из списка, а хотелось бы все-таки все.

Дык, и код написан так, чтобы выделялся только первый элемент.
Тут логичнее вместо .children применить .find, далее цикл по .each, уже потом ставить checked
...
Рейтинг: 0 / 0
12.03.2015, 10:27
    #38902109
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
UchO,

Вложенность где, оба fieldset закрыты после P474_TOSCHEMES ? может там где-то верстка порушена, посмотрите в исходном коде, не в DOM, где и как закрываются теги.

Возможно чекбоксов слишком много, и там где-то обрезка идёт, в разных версиях всякие баги были с этим.
...
Рейтинг: 0 / 0
12.03.2015, 10:34
    #38902119
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
Без циклов можно обойтись.
Для первого
Код: javascript
1.
$("input[type=checkbox][id^=P474_VS_DEPT]").prop("checked",true);


Для второго
Код: javascript
1.
$("input[type=checkbox][id^=P474_TOSCHEMES]").prop("checked",true);
...
Рейтинг: 0 / 0
12.03.2015, 10:34
    #38902122
UchO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
SvDev,

Я скорей о вложенности элементов <label>

в первом случае <label>..</label>
во втором <label>...<label>..</label></label>
Почему-то структура после рефреша элемента становится вложенной. Вручную меняешь на не вложенную, ДА отрабатывает корректно, все элементы выделяет. А почему он её формирует вложенной? И, кстати, без переноса на новую строку, т.е. все элементы растягиваются по ширине элемента, а не окончание одного, переход на новую строку, новый..

Может какое-то свойство не указал? Но такая вещь только после рефреша элемента происходит. Не могу понять причину.
...
Рейтинг: 0 / 0
12.03.2015, 10:37
    #38902130
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
UchOSvDev,

Я скорей о вложенности элементов <label>

в первом случае <label>..</label>
во втором <label>...<label>..</label></label>
Почему-то структура после рефреша элемента становится вложенной. Вручную меняешь на не вложенную, ДА отрабатывает корректно, все элементы выделяет. А почему он её формирует вложенной? И, кстати, без переноса на новую строку, т.е. все элементы растягиваются по ширине элемента, а не окончание одного, переход на новую строку, новый..

Может какое-то свойство не указал? Но такая вещь только после рефреша элемента происходит. Не могу понять причину.
Это у тебя скорее всего разные тип label(разные шаблоны) указан у этих двух элементов, не пугайся
...
Рейтинг: 0 / 0
12.03.2015, 10:39
    #38902135
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
UchOS все элементы выделяет. А почему он её формирует вложенной? И, кстати, без переноса на новую строку, т.е. все элементы растягиваются по ширине элемента, а не окончание одного, переход на новую строку, новый..

Это свойство элемента "Number of Checkbox Columns" сколько указал, столько и будет в строке.
...
Рейтинг: 0 / 0
12.03.2015, 10:55
    #38902168
UchO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
blkangel,
Спасибо! Помогло.
Однако понять логику, почему он растягивает элементы по ширине, а не отрисовывает по одному в строке, не могу. Смотря по коду, у него и переноса строк нет.
Добавил в Form Element Option Attributes любой текст, он стал отрисовывать корректно, по одному элементу на строку, но ощущение, да и просмотр html кода говорит, что не верный это подход, хоть и приводит к нужному итогу
...
Рейтинг: 0 / 0
12.03.2015, 10:56
    #38902171
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделить все элементы чекбокс
blkangelБез циклов можно обойтись.
Для первого
Код: javascript
1.
$("input[type=checkbox][id^=P474_VS_DEPT]").prop("checked",true);


Для второго
Код: javascript
1.
$("input[type=checkbox][id^=P474_TOSCHEMES]").prop("checked",true);



Да действи-но. Я про то, что children делать не совсем корректно, т.к. верстка в других случаях может быть другой , например каждый input может быть внутри своей ячейки (td), т.е. в общем случае уровень вложенности заранее неизвестен.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Выделить все элементы чекбокс / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]