这是我的第一篇文章:) 我想选择组合框的一个选项,并且根据此选项,您想打印一个标签或另一个标签。例如,如果我选择 option->dni,则标签将为 DNI:或者如果我选择 option->nombre,则标签将为 Nombre:
<div class="campos">
<div class="campo">
<form:label path="buscarPor">Buscar Por:</form:label>
<div>
<select name="buscarPor" id="buscarPor">
<option value="dni">DNI</option>
<option value="nombre">Nombre</option>
<option value="Departamento">Departamento</option>
<option value="Área de Conocimiento">Área de Conocimiento</option>
</select>
</div>
<script type="text/javascript">
function cargarLabel(){
var seleccionado = $(this).val();
if(seleccionado == 'dni'){
$('#seleccion').html('<div class="campo">'+'<form:label path="seleccion">DNI:</form:label>'+
'<div>'+'<form:input path="seleccion"/>'+'<form:errors path="seleccion"/>'+'</div>'+'</div>');
}if(seleccionado == 'nombre'){
$('#seleccion').html('<div class="campo">'+'<form:label path="seleccion">Nombre:</form:label>'+
'<div>'+'<form:input path="seleccion"/>'+'<form:errors path="seleccion"/>'+'</div>'+'</div>');
}
}
$(function () {
$('#buscarPor').change(cargarLabel);
});
</script>
</div>
<div class="campo">
<form:label path="seleccion">??</form:label>
<div>
<form:input path="seleccion"/>
<form:errors path="seleccion"/>
</div>
</div>
最佳答案
首先,更改 path
您的<form:label path="buscarPor">Buscar Por:</form:label>
的属性到别的东西。 Spring标签库生成id
具有相同值的属性,并且将与 id
直接冲突您选择的标签的属性。这就是为什么在您当前的代码中,jquery 选择您的 label
标签而不是 select
标记并绑定(bind) change
事件到它。
也就是说,也看看这个 JSFiddle解决这个问题的正确方法。我认为你的方法太冗长了,你可以通过避免所有这些 if/else block 来帮自己一个忙。
关于javascript - 如何使用 Spring MVC 在组合框中选择一个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13612121/