Невозможно вызвать функцию JS для ссылки action, используемой для обновления зоны в Tapestry5. - PullRequest
0 голосов
/ 26 июля 2011

Я столкнулся с одной проблемой в Гобелене.

Проблема - я использую сетку для отображения данных.с каждой строкой я показываю кнопку плюс (+).когда мы нажмем кнопку «плюс» (+), я покажу внутренние строки для этой строки.Я достиг этого статически.Статически означает, что когда Grid загружает данные одновременно, я извлекаю данные для внутренних строк и сохраняю их в скрытых полях.Когда я нажимаю кнопку «Плюс» (+), я вызываю функцию JS, которая использует поле «Скрытые данные» и рисует внутренние строки.

Теперь есть поворот.Я должен делать то же самое динамически.Это означает, что при нажатии кнопки «Плюс» (+) мне нужно получить данные для скрытых строк, а затем вызвать функцию JS, чтобы нарисовать внутренние строки.Чтобы добиться этого, я использовал Zone & ActionLink для динамического получения данных внутренних строк.Зона содержит скрытые поля, которые содержат данные для внутренних строк.когда я нажимаю на ActionLink, Zone обновляется и извлекает данные, но после этого я не могу вызвать функцию JS.

Надеюсь, вы, ребята, поняли проблему.Нужна ваша помощь в срочном порядке.

С уважением,
Махендра

1 Ответ

0 голосов
/ 27 июля 2011

Проблема в том, что вы не можете вызвать функцию JS при обновлении зоны. так что есть одно решение.

Зона может быть изначально видимой или невидимой. Когда зона обновляется, это сделано видимым, если не в настоящее время так. Это достигается через функция на объекте Tapestry.ElementEffect на стороне клиента. По умолчанию, Для этого используется функция show (). Если вы хотите, чтобы Гобелен вызывать другую функцию Tapestry.ElementEffect при обновлении, укажите его имя в параметре show зоны.

Если зона уже видна, то используется другая функция эффекта выделить изменения. По умолчанию функция highlight () называется, который выполняет желтое затухание, чтобы подчеркнуть, что содержание Зона изменилась. Кроме того, вы можете указать другой Функция эффекта с параметром обновления Зоны: Чтобы Гобелен обновил зону без обычной желтой подсветки эффект, просто укажите «показать» для параметра обновления:

<t:zone t:id="myZone" t:update="show">

Вы также можете определить и использовать свою собственную функцию эффекта JavaScript (с имена в нижнем регистре), например:

    Tapestry.ElementEffect.myeffectname = function(element){
 YourJavascriptCodeGoesHere; };

Так что в вашем случае вы можете использовать, как показано ниже код

<t:zone t:id="zoneId" t:update="yourfunction" >
// contain the your code                           
</t:zone>

поэтому, когда Zone получит обновление, оно вызовет вашу функцию.

для получения дополнительной информации Функции эффектов зоны

Наслаждайтесь.

С уважением,
Мээндра

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...