Я новичок в Lift, и у меня есть вопрос об использовании bind, Ajax в Lift.
Я хочу создать три выпадающих меню с использованием Ajax в динамическом режиме. Я использую «Адрес» в качестве примера, чтобы описать то, что я пытаюсь достичь. Во-первых, мне нужно только отобразить меню «Страна» со значением по умолчанию «Нет». Пользователь в этот момент может выбрать отправку, если он хочет, и адрес принимается по умолчанию. Если нет, она может предоставить точный адрес. Как только она выберет страну, должно отобразиться меню «Штат», а после выбора «Штат» должно появиться меню «Округ».
С помощью демонстрационных примеров лифта я попытался создать статические меню следующим образом. Я создал три фрагмента <select:country/>, <select:state/>, <select:county/>
в своем файле .html и в коде scala связываю следующим образом:
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) Как создать меню динамически, как я объяснил ранее?