2012-01-09 68 views
2

即时通讯使用自动完成控件在电梯屏幕上向用户显示需要的输入。我需要使用自动完成的选定选项更改页面的内容。电梯自动完成更改页面内容

自动完成小部件可以吗?

如果是请发表一个例子。

回答

2

下面是自动填充和Ajax的例子:

/*Create a ValueCell to update*/ 
val cell = ValueCell("") 

/* Do a basic ajaxText */ 
val nameAjax = SHtml.ajaxText(cell.get, s=>{ cell.set(s); Noop}) 

/* Make attributes out of it */ 
val attrs: Seq[(String,String)] = nameAjax.attributes.toList.map{md => (md.key,md.value.text)} 

/* Do the basic autocomplete with your attibutes */ 
def query(s:String):List[String] /*Do the query to get the desired autocomplete values */ 
def buildQueryName(current: String, limit: Int): Seq[String] = { 
    if (current.length == 0) Nil 
    else query(current).take(limit) /*query representing 
} 
private def processResult(s : String) {} 

/* Function to render the autocomplete box */ 
def autoCompleteBox = AutoComplete("", buildQueryName _, processResult _ , attrs:_*) 

/* function to render the dynamic part */ 
def dynamicPart = WiringUI.apply(cell)(createDynamicPart) 

def createDynamicPart(value:String)(ns:NodeSeq):NodeSeq ={ 
    <h3> value selected: {value} </h3> 
}