Wicket - 单选按钮和标签元素

发布于 2024-10-01 22:25:00 字数 528 浏览 3 评论 0原文

在我的 Wicket 应用程序中,我有一个包含单选按钮和 元素的页面:

<input type="radio" wicket:id="today" id="today" />
<label for="today">Today</label>

但是,虽然单选按钮的 id 属性会自动更改,但 for 属性标签标记保持不变,这会造成不一致(标签不再链接到按钮)。解决这个问题的最佳方法是什么?现在,我这样解决这个问题:

add(
    new Label("todayLabel", "Today")
        .add(new AttributeModifier(
             "for",
             new Model<String>(today.getMarkupId()
 )));

但这不太好。是否有另一种更清晰的方法将它们链接到标签?

In my Wicket app, I have a page with radio buttons and <label for="..."> elements:

<input type="radio" wicket:id="today" id="today" />
<label for="today">Today</label>

However, while the radio button's id property gets changed automatically, the for property of the label tag stays the same and that creates an inconsistency (the label isn't linked to the button anymore). What's the best way to address this? Right now, I address it this way:

add(
    new Label("todayLabel", "Today")
        .add(new AttributeModifier(
             "for",
             new Model<String>(today.getMarkupId()
 )));

but that's not very nice. Is there another, clearer way to link these to tags?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

番薯 2024-10-08 22:25:00

使用 FormComponentLabel

add(new FormComponentLabel("todayLabel", today));

Use FormComponentLabel:

add(new FormComponentLabel("todayLabel", today));
满意归宿 2024-10-08 22:25:00

您可以在标记中完成这一切:

<label wicket:for="today">
   <input type="radio" wicket:id="today" id="today" />
   Today
</label>

有关 wicket html 标记的更多信息,请参见:https:// /cwiki.apache.org/WICKET/wickets-xhtml-tags.html

You can do it all in the markup:

<label wicket:for="today">
   <input type="radio" wicket:id="today" id="today" />
   Today
</label>

More about wicket's html tags here: https://cwiki.apache.org/WICKET/wickets-xhtml-tags.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文