Scala Lift CometActor:组织由render和fixedRender生成的HTML

Scala Lift CometActor:组织由render和fixedRender生成的HTML,scala,lift,Scala,Lift,我正在尝试构建一个简单的搜索应用程序,作为Comet和。计划是有一个带有文本输入和搜索结果空间的页面。输入搜索词时,应将其作为ajax请求传输,结果应由服务器推回并呈现在同一页面上。当服务器发现更多结果时,应将其推送到客户端 使用as模板,我有一个CometActor,它可以呈现ajax表单和来自以下模板的搜索结果: <lift:comet type="SearchResults" name="Other"> <search:input><search:inpu

我正在尝试构建一个简单的搜索应用程序,作为Comet和。计划是有一个带有文本输入和搜索结果空间的页面。输入搜索词时,应将其作为ajax请求传输,结果应由服务器推回并呈现在同一页面上。当服务器发现更多结果时,应将其推送到客户端

使用as模板,我有一个CometActor,它可以呈现ajax表单和来自以下模板的搜索结果:

<lift:comet type="SearchResults" name="Other">
  <search:input><search:input /><input type="submit" value="Search" /></search:input>
    <search:results>
      <div>Results for: <search:tag /></div>
      <div class="search-results">
        <search:list>
          <li><list:title /></li>
        </search:list>
      </div>
   </search:results>
</lift:comet>
原则上,这段代码是有效的,但它将搜索框呈现在结果下方,而不是我预期的顶部


我假设,这与执行render和fixedRender的顺序有关。如何更改此代码使搜索框位于顶部?

请查看CSS选择器。但我想这个问题现在已经过时了;此外,CSS选择器在09年还不可用。

您很可能会在这里得到良好的响应:
class SearchResults extends CometActor {
    override lazy val fixedRender: Box[NodeSeq] = {
      SHtml.ajaxForm(bind("search", findKids(defaultXml, "search", "input"), 
                       "input" -> SHtml.text("", updateSearch _)))
    }

    private def updateSearch(tag: String) = Log.info("UpdateSearch: " + tag)

    def render = {
        bind("search", findKids(defaultXml, "search", "results"),
          "tag" -> "MyTag",  // TODO show actual search tag
          "list" -> <ul><li>Entry</li></ul>) // TODO actual search results
     }
}