Логическое поле (Флажок)

Все вопросы/проблемы по установке и использовании.
Ответить
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Логическое поле (Флажок)

Сообщение meu3 »

Как оно должно работать?
Создал поле этого типа - Логическое поле (Флажок) = [1189]
Пытаюсь использовать в JS формуле - [1189] ? [882]*2 : [882]*[883]
Не срабатывает вне зависимости от состояния флажка.
Что не так?
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Логическое поле (Флажок)

Сообщение support »

Вам нужно проверять состояние флажка, пример кода такой:

Код: Выделить всё

$("#fields_1189").is(':checked') ? [882]*2 : [882]*[883]
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Re: Логическое поле (Флажок)

Сообщение meu3 »

Спасибо!
А где можно посмотреть синтаксис аналогичных JS скриптов?
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Re: Логическое поле (Флажок)

Сообщение meu3 »

$("#fields_1189").is(':checked') ? [882]*2 : [882]*[883] - не работает...
Входит в режим ожидания...
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Логическое поле (Флажок)

Сообщение support »

Проверил, ошибки с кавычками допустил. Попробуйте так:

Код: Выделить всё

$('#fields_1189').is(':checked') ? [882]*2 : [882]*[883]
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Re: Логическое поле (Флажок)

Сообщение meu3 »

Так работает, но для JS формулы - странно.
Если изменяю значения числовых полей из формулы - пересчитывает и сразу отображает.
Если включаю/выключаю флажок - вроде как пересчитывает, но отображения сразу - не происходит.
Такое впечатление, что нужно где-то включить динамическое обновление.

ЗЫ: Если можно ссылку на документацию, где написано и про одинарные кавычки и про формат полей.
Где, например, можно прочесть про

Код: Выделить всё

$('#fields_1189').is(':checked')
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Логическое поле (Флажок)

Сообщение 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/
Вложения
fieldtype_js_formula.zip
(2.66 КБ) 204 скачивания
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Логическое поле (Флажок)

Сообщение support »

Я тут подумал и от конструкции ".is(':checked')" так же можно избавиться.
Файл из архива замените в includes\classes\fieldstypes\
А формулу измените на

Код: Выделить всё

[1189] ? [882]*2 : [882]*[883]
Сообщите результат.
Вложения
fieldtype_js_formula2.zip
(2.66 КБ) 187 скачиваний
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Re: Логическое поле (Флажок)

Сообщение meu3 »

Да! Так работает. Спасибо!
Ответить