作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在我的应用程序中做一部分,要求在 valueCell 的函数中加载 HTML block 。
我的代码正在运行,但 JQuery 没有完成其工作,选项卡未显示。我可以读取“Hello world”和选项卡名称,但没有选项卡布局。
此外,我可以补充一点,如果我删除 Wiring UI 的使用(只需在 html 页面中使用 displayFormOK 而不是 displayForm),它就可以很好地工作。
这是我的代码:
片段:
object Menu {
val searchType = ValueCell[Option[SearchType]](Some(Type1))
//I removed some stuff to update the cell
def displayForm = {
WiringUI.apply(searchType)(displayFormAjax)
}
def displayFormOK ={
displayFormAjax(searchType.get)(NodeSeq.Empty)
}
def displayFormAjax(sType: Option[SearchType])(n:NodeSeq):NodeSeq =
{sType match{
case None => <h3> Error on type </h3>
case Some(x) => {x.displayForm}
}}
}
这是我的特征,代表所选对象
trait SearchType {
val name:String
def displayForm:NodeSeq = {
<div id="tabs">
<ul>
<a href={"#"+name}> {name} </a></li>)}
</ul> ++
<div id={name}>Hello World </div>
</div>
)}
}
特征中的代码比较复杂,实际上我想生成任意数量的选项卡。
最后这是我的 html 代码
<script>
$(function() {
$( "#tabs" ).tabs();
});
</script>
<form class="lift:form.ajax">
<div class="lift:Menu.displayForm"></div>
</form>
最佳答案
我找到了解决问题的方法。事实上,由于我在“加载”脚本后添加了一些 html block ,因此它没有应用于我的 block 。因此,每次使用 WiringUI 时我都必须调用该脚本。这是我的解决方案:
def displayForm = {
def cmdG(id: String, first: Boolean, setCmd: JsCmd) = new JsCmd{
def toJsCmd = setCmd.toJsCmd + "; $(\"#tabs\").tabs();"
}
WiringUI.apply(searchType,cmdG _)(displayFormAjax)
}
显然我从我的 html 文件中删除了脚本。
注意:我还意识到这不是我的代码中的最佳解决方案,我现在将使用此 JsCmd 功能来禁用我不想使用的选项卡。
关于jquery - Liftweb WiringUI 和 JQueryUI 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8861592/
我正在我的应用程序中做一部分,要求在 valueCell 的函数中加载 HTML block 。 我的代码正在运行,但 JQuery 没有完成其工作,选项卡未显示。我可以读取“Hello world”
我是一名优秀的程序员,十分优秀!