В настоящее время у меня нет полного решения, но давайте проанализируем ваш код. Это достаточно интересно.
Прежде всего, вы хотите открыть модальное диалоговое окно, основанное на выбранной строке. (На самом деле бит «модального диалога» является образованным предположением). Однако вы добавили обработчик onclick
на всю таблицу. JSF не делает строки явными, поэтому вам нужно добавить обработчик onclick
в ячейки таблицы. Для простоты предположим, что вы назначили обработчик onclick
кнопке внутри таблицы.
Во-вторых, есть ошибка в каждой версии BootsFaces < = 0.9.1, которая мешает вам определить, какая строка была выбрана. Поэтому вам нужно использовать версию> = 0.9.2. На момент написания этого момента это снимок разработчика BootsFaces-0.9.2-SNAPSHOT. См. issue 369 on how to get it и issue 486 on the row-select bug Я недавно решил.
В-третьих, вы должны принять во внимание, что код JavaScript обработчика onclick
выполняется перед запросом AJAX. Я могу только догадываться, но я предполагаю, что вы хотите обновить содержимое модального диалога на основе выбора строки. Я также предполагаю, что контент определяется запросом AJAX. Если оба предположения верны, у вас есть проблема. Обработчик onclick
выполняется перед вызовом AJAX. Поэтому я предлагаю вам использовать обработчик обратного вызова JavaScript oncomplete
, который предлагает некоторые компоненты BootsFaces, такие как b:commandButton
.
Как я уже говорил, это не полное решение, но я надеюсь, что это все равно поможет.
Пожалуйста, покажите, что вы уже пробовали ... Не то, что я могу помочь (нет пользователей bootsfaces), но это необходимо для других пользователей – Kukeltje
Извините..Моя ошибка. Обновите код .. я знаю .. этого было бы достаточно ... onclick - это то, что испробовано .. я не знаю, чтобы это сделать ... – rahul
Может кто-нибудь поднять вопрос? IMHO вопрос хорош, он, вероятно, был опущен по причинам, которые были решены последним правлением @rahul. Было бы жаль, если бы вопрос был удален. –