2012-01-09 72 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> 
}