让我们来创建一个简单的aJax例子
首先创建一个snippet
import _root_.net.liftweb.http.SHtml._ import _root_.net.liftweb.http.js.JE._ import _root_.net.liftweb.http.js.JsCmds._ import scala.xml.{NodeSeq,Text} import net.liftweb.util._ import Helpers._ import net.liftweb.http.js.JsCmd import net.liftweb.http.SHtml // Use logging facilities class AbstractionExamples { // define a snippet method def myFunc(html: NodeSeq): NodeSeq = { bind("hello", html, "button" -> ajaxButton(Text("Press me"), { () =>SetHtml("my-div", Text("That’s it")) } )) } }
<lift:AbstractionExamples.myFunc form="POST"> <p> Some Text <hello:description /></p> <hello:button /> </lift:AbstractionExamples.myFunc> <div id="my-div"></div>
代码的意思是,替换myFunc中的HTML的内容,将具有"hello"前缀的button作为一个ajaxButton按钮.
按钮的Text为"Press me",执行结果为替换my-div的HTML内容为文本类型的"That's it"
注意:只有在myFunc中的HTML的hello前缀的组建才有此bind作用。