所以问题是我有2个组合框,comboONE和comboTWO。 comboTWO的人口取决于comboONE的选择...即当选择了comboONE时我想点击服务器并传入comboTWO的相关值。
一切似乎都在加入,甚至从Controller返回的调用也会被调用..但奇怪的是不刷新页面......如果我把它发送到一个完全不同的页面,这是真的。
所以有些代码...... scala模板看起来像......
@(adminAccess: Boolean, theLocationClassTimes: List[String])
<!DOCTYPE html>
:
:
<script>
function populateClassTimeSelect(classLocation) {
var req = new XMLHttpRequest() ;
req.open("post", "/locationclasstimes/" + classLocation);
req.onload = function ( e ) {
if ( req.status = 200 ) {
document.reload(true);
}
};
req.send();
}
</script>
:
// And use "theLocationClassTimes" list down here
路线档案有......
GET /contacts.html controllers.Application.contacts
POST /locationclasstimes/:classLocation controllers.Application.locationClassTimes(classLocation: String)
...然后控制器就像......
def contacts = SecureAction { request =>
Ok(views.html.contacts(isAdminUser(request), List("andyOne", "andyTwo")))
}
def locationClassTimes(classLocation: String) = SecureAction { request =>
val validClassTimesForLocation = List("Hello1","Hello2", classLocation)
Ok(views.html.contacts(!isAdminUser(request), validClassTimesForLocation))
}
我应该说的是这里的命名很差..但基本上是&#34; locationClassTimes&#34;函数确实按预期调用,并创建我的新列表。 但HTML页面不会刷新新内容。 如果我发送一个完全不同的页面,我可以看到它执行了所需的处理(即读取该页面的数据库),但实际上并没有呈现它。
所以我猜我有两个主要问题: (1)在这里连接点是否有明显的错误 (2)在播放框架中是否有更简单的方法将comboONE与comboTWO连接起来。我想在此时点击服务/数据库层。
非常感谢任何指针,因为我对前端webby的所有事情都是全新的!