Grails 正在获取remoteField以更新另一个字段
我对Grails和Ajax还不是很熟悉。在我为remoteField查看的所有示例中,结果都呈现在屏幕上的普通div区域。我有这个工作,但我想从控制器的结果更新的gsp字段之一的值。当我按如下所示进行设置时,field元素消失,并被纯文本替换。是否有办法识别特定字段Grails 正在获取remoteField以更新另一个字段,grails,Grails,我对Grails和Ajax还不是很熟悉。在我为remoteField查看的所有示例中,结果都呈现在屏幕上的普通div区域。我有这个工作,但我想从控制器的结果更新的gsp字段之一的值。当我按如下所示进行设置时,field元素消失,并被纯文本替换。是否有办法识别特定字段 <div id="thisOne" class="fieldcontain ${hasErrors(bean: orderItemInstance, field: 'total', 'error')} required">
<div id="thisOne" class="fieldcontain ${hasErrors(bean: orderItemInstance, field: 'total', 'error')} required">
<label for="total">
<g:message code="orderItem.total.label" default="Total" />
<span class="required-indicator">*</span>
</label>
<g:field name="total" value="${fieldValue(bean: orderItemInstance, field: 'total')}" required=""/>
</div>
<div id="input" class="fieldcontain">
<label for="input">
Input field
</label>
<g:remoteField name="input" action="recalc" update="thisOne"/>
</div>
*
输入字段
当使用ajax时,我们更新div,此时上一个值将消失
所以我把total字段放在一个模板中。在远程字段中调用的控制器操作将呈现模板。像这样试试。您可以在成功时尝试
*
输入字段
注意:-此字段现在是要更新的字段的id感谢所有输入。所有的建议都有价值,但成功的答案正是我所需要的。
<div id="thisOne">
</div>
<div id="input" class="fieldcontain">
<label for="input">
Input field
</label>
<g:remoteField name="input" action="recalc" update="thisOne"/>
</div>
<div class="fieldcontain ${hasErrors(bean: orderItemInstance, field: 'total', 'error')} required">
<label for="total">
<g:message code="orderItem.total.label" default="Total" />
<span class="required-indicator">*</span>
</label>
<g:field name="total" value="${fieldValue(bean: orderItemInstance, field: 'total')}" required=""/>
</div>
def recalc(){
.....
render(template:"updateTotal",....)
}
<div class="fieldcontain ${hasErrors(bean: orderItemInstance, field: 'total', 'error')} required">
<label for="total">
<g:message code="orderItem.total.label" default="Total"/>
<span class="required-indicator">*</span>
</label>
<g:field id="thisOne" type="text" name="total" value="${fieldValue(bean: orderItemInstance, field: 'total')}" required=""/>
</div>
<div id="input" class="fieldcontain">
<label for="input">
Input field
</label>
<g:remoteField name="input" action="test2" onSuccess="jQuery('#thisOne').val(data)"/>
</div>