Страница 1 из 1
Логическое поле (Флажок)
Добавлено: 16 апр 2019, 14:20
meu3
Как оно должно работать?
Создал поле этого типа - Логическое поле (Флажок) = [1189]
Пытаюсь использовать в JS формуле - [1189] ? [882]*2 : [882]*[883]
Не срабатывает вне зависимости от состояния флажка.
Что не так?
Re: Логическое поле (Флажок)
Добавлено: 16 апр 2019, 14:31
support
Вам нужно проверять состояние флажка, пример кода такой:
Код: Выделить всё
$("#fields_1189").is(':checked') ? [882]*2 : [882]*[883]
Re: Логическое поле (Флажок)
Добавлено: 16 апр 2019, 15:27
meu3
Спасибо!
А где можно посмотреть синтаксис аналогичных JS скриптов?
Re: Логическое поле (Флажок)
Добавлено: 16 апр 2019, 15:29
meu3
$("#fields_1189").is(':checked') ? [882]*2 : [882]*[883] - не работает...
Входит в режим ожидания...
Re: Логическое поле (Флажок)
Добавлено: 16 апр 2019, 16:25
support
Проверил, ошибки с кавычками допустил. Попробуйте так:
Код: Выделить всё
$('#fields_1189').is(':checked') ? [882]*2 : [882]*[883]
Re: Логическое поле (Флажок)
Добавлено: 16 апр 2019, 17:04
meu3
Так работает, но для JS формулы -
странно.
Если изменяю значения числовых полей из формулы - пересчитывает и сразу отображает.
Если включаю/выключаю флажок - вроде как пересчитывает, но отображения
сразу - не происходит.
Такое впечатление, что нужно где-то включить динамическое обновление.
ЗЫ: Если можно ссылку на документацию, где написано и про одинарные кавычки и про формат полей.
Где, например, можно прочесть про
Re: Логическое поле (Флажок)
Добавлено: 16 апр 2019, 18:26
support
Дело в том, что такой тип поля просто не поддерживался ранее в поле "JS формуле"
Я доработал код для 2.5, замените файл из архива в папку includes\classes\fieldstypes\
Далее саму формулу замените на:
Код: Выделить всё
[1189].is(':checked') ? [882]*2 : [882]*[883]
И теперь событие при нажатии на флажок будет обрабатываться автоматически. Сообщите результат.
Касательно "одинарные кавычки" это был недочет в самом поле и я его исправил, теперь можно использовать разные кавычки.
Касательно остальной документации, то тут дело в том что вы пишите чистый javascript. [882] - это значение поля, а все остальная логика javascript
Тут есть пример как использовать свою функцию на javascript
http://blog.rukovoditel.net/ru/kak-ispo ... i-funkcii/
Re: Логическое поле (Флажок)
Добавлено: 16 апр 2019, 18:42
support
Я тут подумал и от конструкции ".is(':checked')" так же можно избавиться.
Файл из архива замените в includes\classes\fieldstypes\
А формулу измените на
Сообщите результат.
Re: Логическое поле (Флажок)
Добавлено: 16 апр 2019, 19:09
meu3
Да! Так работает. Спасибо!