저는 리프트에 초보자입니다. 리프트에는 바인드, Ajax 사용에 관한 질문이 있습니다.리프트 프레임 워크의 동적 바인드
Ajax를 동적으로 사용하여 3 개의 드롭 다운 메뉴를 만들고 싶습니다. 나는 달성하고자하는 것을 기술하기 위해 "주소"를 예제로 사용합니다. 주먹으로, 나는 "국가"메뉴를 "없음"으로 설정된 기본값으로 표시해야합니다. 이 시점에서 사용자는 원하는 경우 주소를 제출하도록 선택할 수 있습니다. 그렇지 않은 경우 정확한 주소를 제공 할 수 있습니다. 그녀가 국가를 선택하면 "주"메뉴가 표시되고 "주"를 선택하면 "카운티"메뉴가 표시됩니다.
리프트 데모 예제 덕분에 다음과 같이 정적 메뉴를 만들려고했습니다. 내 .html 파일에 세 조각 <select:country/>, <select:state/>, <select:county/>
를 작성 스칼라 코드에서, 나는 다음과 같이 바인딩 :
bind("select", xhtml,
"system" -> select(Address.countries.map(s => (s,s)),
Full(country), s => country = s, "onchange" -> ajaxCall(JE.JsRaw("this.value"),s => After(200, replaceCounty(s))).toJsCmd),
"state" -> stateChoice(country) % ("id" -> "state_select"),
"county" -> countyChoice(state) % ("id" -> "county_select"),
"submit" -> submit(?("Go!"),()=>Log.info("Country: "+country+" State: "+state + " County: "+ county)
대응 replaceCounty은 stateChoice, countyChoice이 내 모든 클래스에 정의되어 있습니다. 그러나 국가가 선택되면 Ajax 호출을 통해 상태가 새로 고쳐지며 카운티는 새로 고쳐지지 않습니다.
Q1) 국가 메뉴에 따라 두 메뉴를 새로 고치는 방법이 있습니까?
Q2) 앞서 설명한대로 동적으로 메뉴를 만드는 방법은 무엇입니까?