有没有办法创建具有CssSel
/ SHtml.textarea
/ SHtml.text
/ SHtml.input
逻辑的SHtml.button
?
我想要的是拥有NodeSeq
<textarea class="dontDeletePlease"></textarea>
和CssSel一样
"*" #> SHtml.textarea(...)
有结果
<textarea class="dontDeletePlease" onsubmit="..." name="..."></textarea>
但是,相反,我会删除课程"dontDeletePlease"
。还有所有其他属性。
有没有办法创建一个CssSel来应用它保持html属性的逻辑?
答案 0 :(得分:1)
我认为你有两种选择。您可以使用Lift funcMap
将该功能直接添加到现有textarea
。除了直接向您的代码添加名称属性外,这不会修改任何内容。这类似于Lift does internally with SHtml.textarea
。
"*" #> {
fmapFunc(SFuncHolder((t) => //do something))(funcName =>
"* [name]" #> funcName
)
}
另一种方法是从CSS Selector中获取属性并将它们传递给您的转换,如下所示:
"*" #> { ns:NodeSeq =>
ns.map{ n =>
val ta = SHtml.textarea("", (t) => //do something)
ta % n.attributes
}
}
这将使用SHtml.textarea
创建输入,然后将现有元素中的所有属性添加到新元素。