這是我在一類建築代碼:斯卡拉列表validSelectValues沒有更新
object province extends MappedLongForeignKey(this, Province) {
override def dbColumnName = "province_id"
def selectValues: Box[List[(String, String)]] =
Full((("0", "")) +: Province.findAll(OrderBy(Province.name, Ascending)).
map(p => (p.id.is.toString, p.name.is)))
override def _toForm: Box[Elem] = Full(selectValues.flatMap{
case Nil => Empty
case xs => Full(SHtml.ajaxSelect(xs, Full(this.is.toString), v => {
this.set(v.toLong)
JsCmds.ReplaceOptions("council_select",
councilsList(v).map(c => (c.id.is.toString, c.name.is)), None)
}))
}.openOr(<span>{"sin provincias"}</span>))
private def councilsList(p: String) = p match {
case id if id != "" =>
Council.findAll(By(Council.province, p.toLong),
OrderBy(Council.name, Ascending))
case _ => List()
}
}
// Council
object council extends MappedLongForeignKey(this, Council) {
override def dbColumnName = "council_id"
val id = "council_select"
override def validSelectValues: Box[List[(Long, String)]] =
Full(((0l, "")) +: Council.findAll(By(Council.province, province),
OrderBy(Council.name, Ascending)).
map(c => (c.id.is, c.name.is)))
override def _toForm: Box[Elem] = Full(validSelectValues.flatMap{
case Nil => Empty
case xs => Full(SHtml.selectObj(xs, Full(this.is), this.set, "id" -> id))
}.openOr(<select id={id}/>))
}
在編輯表格,當我改變列表上的省議會名單由省過濾器更換完美,但是當我保存建築物,councill不會首次保存/更新。接下來的時間,因爲全省已經安置,所以省下來,直到我省其他時間...所以,當我設立一個新的省份時,省政府並沒有得救,我需要省2次,省1次,省1次。理事會。
我認爲這個問題是因爲對象理事會的validSelectValues,是我第一次加載頁面時加載的,並且它將按省省過濾,或者在沒有設置省時省略空列表...我怎麼能當我更改省名單時,重新加載市議會validSelectValues?
感謝
謝謝,但我在省toForm改變ajaxSelect通過ajaxUntrustedSelect和不工作。問題不是省,它很好地保存了所有的時間。問題是保存委員會:當我改變省和議會名單重新加載時,我選擇一個委員會,並試圖保存建築物,省省,議會不是。我必須省2次,省1次,理事會1次。如果我改變理事會而不改變省,它可以完美保存 – user3313534