2012-01-09 6 views
2

im自動完全ウィジェットを使用して、liftScreenでユーザーに必要な入力を表示します。私は、オートコンプリートの選択されたオプションでページの内容を変更する必要があります。リフトオートコンプリートの変更ページコンテンツ

オートコンプリートウィジェットでも可能ですか?

例を投稿してください。ここで

答えて

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> 
}  
関連する問題