我正在尝试创建一个页面,在该页面上我可以在一个字段中选择球员的姓名,在另一个字段上显示球员的年龄。我编写了用于选择名称的代码,但是使用了字符串列表。有没有一种方法可以传递列表变量,并在下拉列表中选择名称,年龄框也会相应更改?
我正在使用的控制器:
public ModelAndView getPlayers(ModelAndView model) {
List<Player> players = findAllPlayers();
List<String> playerNames = new ArrayList<String>();
for ( Player player : players){
playerNames.add(player.netName();
}
model.addObject("players", playerNames);
model.setViewName("getPlayer");
return model;
}
我想使用的控制器:
public ModelAndView getPlayers(ModelAndView model) {
List<Player> players = findAllPlayers();
model.addObject("players", players);
model.setViewName("getPlayer");
return model;
}
我当前用于下拉菜单的jsp页面:
<form:select path="players" name="players" items="${players}" id="players" class="form-control" value="${selectedPlayer}"/>
您可以在<form:options>
代码中使用<form:select>
标签。
例如,您可以执行以下操作:
<form:select id="playerNameDropdown" path="playerName">
<form:option value="-" label="--Please Select"/>
<form:options items="${players}" itemValue="playerId" itemLabel="playerName"/>
</form:select>
也供您参考,请参阅spring文档。 https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-view-jsp-formtaglib-optionstag
编辑:对于您的年龄选择下拉列表要求,您可以在播放器名称onchange
下拉列表上使用<form:select>
属性。
示例:
<form:select id="playerNameDropdown" path="playerName" onchange="changeAgeDropdown()">
</form:select>
function changeAgeDropdown() {
var selectedPlayer = $("#playerNameDropdown").val();
//Change your second dropdown here.
}