假设我有一个带有 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
,但这只适用于一个字段。
谢谢
答案 0 :(得分:1)
嗯,g:remoteField标记显式用于一个字段,因此您不能使用它来更新多个字段。所以,你有两个简单的选择:
使用2 g:remoteField调用...这不是一个糟糕的选择,因为它们会在近乎并行的情况下发生,因为它们是异步调用。
滚动自己的Ajax。改为使用g:remoteFunction,并将你在“success”属性中放置的JS函数带到你的书中,并更新相应的HTML字段。