2016-12-07 4 views
0

Для пользовательского типа страницы у меня есть форма множественного выбора, как показано на изображениях 1 и 2. Я смог настроить его (используя jquery), чтобы когда я нажимаю на другие флажки, принадлежащие другому полю, флажок Ярлык и значение этого поля соответственно изменяются, как показано на изображении 3 - «Автор1», «Автор2», «Автор3» заменены чем-то другим.Kentico Admin - динамически меняет и сохраняет имя поля, его значение и метку

Проблема заключается в том, что при нажатии кнопки «Сохранить» все мои новые метки/значения не сохранены, но значение флажка и метка возвращаются к исходному значению.

Есть ли способ сделать это так, чтобы эти флажки могли принимать новое значение, и новое значение может быть сохранено. Благодаря!

Form field Form field displayed on admin Form field label and value change but can't be saved

ответ

1

Где авторы значения берутся? База данных? Вы должны иметь возможность использовать SQL-запрос в качестве источника данных для управления множественным выбором. Это позволит вам сохранять фактические значения в базе данных при сохранении страницы на вкладке «Форма».

Таким образом, идея состоит в том, чтобы загрузить фактические значения, заменить их на «AuthorN» и вернуться к исходному значению при его проверке.

+0

О, я не хотел ссылаться на [другой вопрос] (http://stackoverflow.com/questions/40895771/kentico-admin-re-arrange-order-of-checkboxes) У меня на форуме, но оба вопросы связаны. В принципе, мой реальный список авторов исходит из SQL-запроса, но список авторов не является тем заказом, который я хочу для каждой статьи. Вот почему я подумываю о добавлении еще одного поля с 5 флажками-заполнителями, а затем динамически изменяю значения этих флажков-заполнителей, чтобы иметь имя в том порядке, в котором я хочу. – Michelle

+0

Не можете ли вы заказать их с помощью SQL? –

+0

Я так не думаю, так как это довольно случайный случай - он основан на размере вклада: тот, кто внес наибольший вклад, получит первое место. Для меня это неважно (как разработчик), но это чуткая вещь и многое другое для других, особенно для самих авторов. – Michelle

0

Я создал пример, который может вам помочь. Я создал форму с тремя полями:

FirstAuthor

  • Тип: Integer
  • управления Форма: Радио кнопки
  • Источник данных: SQL-запрос (select userid,username from cms_user)
  • Имеет зависимости Поля: true

SecondAuthor

  • Тип: Integer управления
  • Форма: Радио кнопки
  • Источник данных: SQL Query (select userid,username from cms_user)
  • Имеет зависимости поля: истинные

OrderedAuthors

  • Тип: Текст (1000) управлений
  • Формы: Label
  • Значение по умолчанию: {% (if(firstauthor>0) { GlobalObjects.Users.Where("userid="+firstauthor)[0].UserName } else {""}) + ", " + (if(secondauthor>0) {GlobalObjects.Users.Where("userid="+secondauthor)[0].UserName} else {""} #%}
  • зависит от другого поля: истинного

Я предполагаю, у вас есть список авторов где-то в базе данных, так вы можете просто заменить таблицу CMS_User своей таблицей. Затем вам нужно всего лишь настроить макрос в третьем поле, чтобы получить нужные результаты.