2016-12-07 4 views
0

В Wicket, я создал форму, содержащую одну палитру и палитру того же типа данных. Если я хочу переместить элементы из доступного раздела в выбранное на основе значения, выбранного в раскрывающемся списке. Как это сделать?Как перемещать элементы из доступного раздела палитры в выбранный раздел на основе элемента, выбранного в раскрывающемся списке той же формы?

+2

Не могли бы вы поделиться тем, что вы сделали? – soorapadman

ответ

0

2 способа для этого: либо клиентская сторона с javascript, либо сторона сервера с ajax.

Если вы должны были сделать это с помощью Ajax, вы можете использовать AjaxEventBehavior, чтобы обнаружить, что в выпадающем списке произошли изменения. Затем измените модель выбора палитры на любые элементы, которые вы хотите выбрать. Затем повторно отрисуйте палитру, добавив ее в AjaxRequestTarget, предоставленный вам AjaxEventBehavior#onEvent. Это будет иметь небольшую задержку по сравнению с решением javascript, но оно будет более чистым, поскольку оно будет использовать Palette так, как оно предназначалось для использования (в некотором смысле). Я чувствую, что это может облегчить вам жизнь.

Если вы должны были сделать это с помощью javascript, вы можете связать прослушиватель событий onchange с выпадающим списком, который переместит параметры с одной стороны на другую. Палитра работает с использованием двух компонентов <select> для дисплея и одного <input type="hidden"/> для передачи выбора обратно в калитку. Чтобы сделать то, что вы просите через javascript, вам нужно будет переместить компоненты <option> из одного <select>, представляя невыбранные компоненты в другой, а затем изменив значение скрытого ввода, чтобы содержать/больше не содержать идентификационное значение выбора. Это решение немного грязнее, на мой взгляд, но это, вероятно, принесет вам лучшую производительность.

+1

Работает отлично! Благодаря :) – Pritam