gpt4 book ai didi

grails - 使用 更新 Grails 中的下拉值

转载 作者:行者123 更新时间:2023-12-02 03:01:26 25 4
gpt4 key购买 nike

我刚刚进入 Grails 舞台。

我有一个要求,我想在一个页面上放置一个下拉列表和一个按钮,并且通过单击按钮仅应更改下拉列表值,页面上的其他控件应保持不变。

我的代码如下:

_connType.gsp

<div id="mappedDeviceDiv">
<select id="mappedDevice" name="mappedDevice" value="" style="width:200px">
<g:each in="${deviceList}" status="i" var="dl">
<option value="${dl}">${dl}</option>
</g:each>
</select>

<g:submitToRemote class="blackButton" update="mappedDeviceDiv"
url="${[controller:'resource',action:'getDeviceList']}"
value="Get Devices"/>
</div>

ResourceController.groovy

def getDeviceList = {

println "Getting NV devices.. + Nirmal" + params
def model = buildAccessRequestModel()

List<NVDeviceBean> deviceList = NVUtil.getDevices(params.datasource, null);
Collections.sort(deviceList);
List<String> devices = []
for(NVDeviceBean deviceBean : deviceList) {
devices.add(deviceBean.getName())
}
println "list = "+devices
model.putAt('deviceList', devices)
render (template:'config/connType',model:model)
}

因此,在上面的场景中,它完美地设置了设备中的值,但在 View 侧的下拉列表中,我获取了整个 connType 页面,而不是仅列出了 Controller 的 devices 变量中的值。

任何帮助将不胜感激..

最佳答案

您可能想要创建/修改 Controller 操作之一以返回 HTML 选项列表。您甚至可以让此操作渲染一个模板。

def getDeviceOptions = {

def options = []
// code that creates the option list goes here.

render(template:'config/optionList', model: [optionList: options ])
}

还有模板...

<!-- config/_optionList.gsp -->
<g:each in="${optionList}" status="i" var="dl">
<option value="${dl}">${dl}</option>
</g:each>

然后,告诉 g:submitToRemote 标记更新选择对象。

<g:submitToRemote class="blackButton" update="mappedDevice"
url="${[controller:'resource',action:'getDeviceOptions']}"
value="Get Devices"/>

这应该会让您朝着正确的方向开始。

关于grails - 使用 <g :submitToRemote> 更新 Grails 中的下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3655539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com