Grails:remoteField可以更新多个字段吗?

时间:2010-05-06 11:17:20

标签: ajax grails groovy

假设我有一个带有 isbn 字段的图书实体。 当输入isbn号码时,我想要更新2个字段:标题和作者。

我的控制器看起来像这样:

def ajaxGetBook = {
        def book = Book.findByIsbn(params.isbn)
        if(book==null) book = new Book()
        render book as JSON
    }

所以我的电话有效,我得到一本完整的JSON书。 现在我想通过更新属性

更新2个texfields
 <g:remoteField action="ajaxGetBook" update="title"  name="isbn" value="${bookInstance?.book?.isbn}" paramName="isbn"/>

现在标题字段会使用完整的图书对象进行更新,因此无效。

是否可以仅使用JSON book.title更新字段标题?

是否可以一次更新更多字段?

我可以render book.title as JSON,但这只适用于一个字段。

谢谢

1 个答案:

答案 0 :(得分:1)

嗯,g:remoteField标记显式用于一个字段,因此您不能使用它来更新多个字段。所以,你有两个简单的选择:

  1. 使用2 g:remoteField调用...这不是一个糟糕的选择,因为它们会在近乎并行的情况下发生,因为它们是异步调用。

  2. 滚动自己的Ajax。改为使用g:remoteFunction,并将你在“success”属性中放置的JS函数带到你的书中,并更新相应的HTML字段。