2014-06-28 2 views
0

В моем приложении для воспроизведения я пытаюсь предложить пользователю возможность редактировать определенный элемент, который он выбирает из таблицы, нажав на кнопку в той же строке таблицы, что и элемент.Определение и редактирование переменных внутри шаблона

Чтобы быть более точным, пользователь будет редактировать учащихся, которые поступили на экзамен. После нажатия на экзамен, который он хочет отредактировать модальный, откроется. Внутри модальной таблицы будут показаны все доступные ученики с установленным флажком для учащихся, которые уже зарегистрированы.

Моя единственная проблема: как передать модальный идентификатор экзамена, который пользователь хочет отредактировать? Насколько я исследовал, я не могу определять и редактировать переменные внутри шаблона. В Angular я бы просто изменил переменную в области.

Каков правильный способ сделать это?

+0

Эта кнопка в строке таблицы, как вы запускаете модальный показ? (onclick = xxx(), jQuery click listener,?) –

+0

Прямо сейчас это всего лишь data-toggle = "modal" data-target = "# myModal" в теге кнопки. Но я готов сделать это по-другому, если это будет проще. Кстати, модальная стандартная bootstrap модальная. Я действительно понимаю, что я, вероятно, мог бы решить всю эту проблему, перенаправив пользователя на новую страницу с новым маршрутом и параметром examId как параметр, но я хочу сделать это на одной странице в модальном режиме. – user3783960

+0

http://stackoverflow.com/questions/13056747/play-framework-define-a-variable-in-template/22045880#22045880 проверить комментарий к этому сообщению, вы можете обновить переменную –

ответ

0

Общий принцип перемещения данных инициализации от внешнего интерфейса к интерфейсу заключается в том, чтобы ввести его в разметку где-нибудь, используя механизм шаблонов. В вашем случае, в любом цикле, который вы используете в своем шаблоне для рендеринга строк таблицы, вы просто отбрасываете идентификатор в своей собственной ячейке в таблице, в атрибуте class или id или, может быть, наиболее подходящим образом, в атрибуте data- на строка таблицы. Я бы сказал, что каждый из этих вариантов в значительной степени эквивалентен, в основном, отличается эстетически.

Затем, в обработчике кликов, вы просто используете относительный селектор цели, чтобы вытащить идентификатор в свой скрипт, где бы вы его не скрепили.

Другой подход заключается в том, чтобы отобразить таблицу на интерфейсе, вытаскивая эту информацию из внешнего интерфейса через API в стиле одностраничного приложения. Затем эта связь между идентификатором и данными живет в модели до ее четного отображения. Это может быть излишним для этого примера, но если у вас есть богатая интерактивность с дюжиной таких экранов, я думаю, что это гораздо более масштабируемый подход.

Смежные вопросы