如何使用spring MVC在combobox中选择一个选项

时间:2012-11-28 18:38:42

标签: javascript forms spring select option

这是我的第一篇文章:) 我想选择组合框的选项,并依赖于此选项,您想要打印一个标签或其他标签。例如,如果我选择了选项 - > dni,标签将是DNI:或者如果我选择了选项 - > 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>

1 个答案:

答案 0 :(得分:0)

首先,将path的{​​{1}}属性更改为其他内容。 Spring标记库生成具有相同值的<form:label path="buscarPor">Buscar Por:</form:label>属性,该属性将直接与select标记的id属性冲突。这就是为什么在您当前的代码中,jquery选择id标记而不是label标记并将select事件绑定到它。

尽管如此,还要看一下这个JSFiddle以找到解决这个问题的正确方法。我认为你的方法过于冗长,你可以通过避免所有那些if / else块来帮助自己。