首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从wicket组件获取HTML属性?

如何从wicket组件获取HTML属性?
EN

Stack Overflow用户
提问于 2013-10-25 08:50:29
回答 1查看 235关注 0票数 0

我找不到允许从组件中提取属性的方法,或者更好的是,从一个特定的属性中提取属性。下面是一个示例:

  1. 我有两个文本区域(组件)。
  2. 两者都是可扩展的
  3. 在输入第一个文件时,它会使用Ajax自动扩展,并且高度会增加。
  4. 我从第一个文本区域获得了“高度”属性。
  5. 我将第二个文本区域的高度设置为从第一个文本区域得到的高度。 公共类HomePage扩展了WebPage { TextArea t=新的TextArea("m",“嘿嘿”);TextArea t2 =新的TextArea("m2",“这是一个添加了标签属性的标签”);public HomePage() { ADD (t.add(“高度”,“100;”));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-26 11:11:02

我的解决方案使用JavaScript来修改高度。t1是通过打字增长的,t2是正在调整的高度。我觉得又干净又漂亮。

代码语言:javascript
复制
private TextArea textarea1() {
    TextArea t1 = new TextArea("t1", Model.of("t1"));
    final String js = "document.getElementById('%s').style.height = document.getElementById('%s').style.height;";
    t1.add(new OnChangeAjaxBehavior() {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.appendJavaScript(String.format(js, textarea2.getMarkupId(), textarea1.getMarkupId()));
        }
    });
    t1.setOutputMarkupId(true);
    return t1;
}

private TextArea textarea2() {
    TextArea t2 = new TextArea("t2", Model.of("t2"));
    t2.setOutputMarkupId(true);
    return t2;
}

在页面/面板类的前面,声明私有字段,并为它们分配两个textarea的

代码语言:javascript
复制
private Textarea textarea1;
private Textarea textarea2;

在ctor中:

代码语言:javascript
复制
textarea1 = textarea1();
textarea2 = textarea2();
add(textarea1);
add(textarea2);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19585297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档