2

I'd like to do an Ajax/Zone update on a section of my page when a RadioButton which is selected.

<t:RadioGroup t:id="vehicleAvailableGroup" value="vehicle.isAvailable">
  <t:label  for="vehicleAvailable" />
  <t:radio t:id="vehicleAvailable" value="literal:true" label="literal:Yes" />
  <t:label for="vehicleNotAvailable" />
  <t:radio t:id="vehicleNotAvailable" value="literal:false" label="literal:No" />
</t:RadioGroup>

处理创建事件或处理我可能忽略的现有事件的最佳方法是什么?

我试过 add onclick 没有用,这个也没有:

@OnEvent(value = EventConstants.VALUE_CHANGED, component = "vehicleAvailableGroup")
4

2 回答 2

2

在此处查看JumpStart中 Geoff Callender 的zoneUpdatermixin 。mixin 侦听字段上的客户端事件并使用当前字段值触发服务器端事件。

IMO 这应该是 Tapestry-core 的一部分,因为它是一个常见的要求。

于 2013-06-19T15:40:32.580 回答
0

我写了一个observe受 jumpstart 的 mixin 启发的zoneUpdatermixin。我觉得它比用户更友好zoneUpdater,功能也更丰富。

  • 您可以将客户端字段的可配置列表传递给服务器端事件。
  • 有一个可选context属性可以在服务器端事件中传递,这在渲染loop.
  • 您不需要弄乱请求参数,因为字段值是在服务器端事件上下文中传递的。
  • 您可以收听任何客户端元素,而不仅仅是字段。因此,您可以监听一个元素的点击并发送另一个字段的值。

演示在这里

于 2013-06-24T07:55:09.517 回答