javascript - 如何使用 Spring MVC 在组合框中选择一个选项

标签 javascript spring forms

这是我的第一篇文章:) 我想选择组合框的一个选项,并且根据此选项,您想打印一个标签或另一个标签。例如,如果我选择 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/

相关文章:

java - Spring 附加数据到当前事务

html - 为表单创建一个工作提交按钮以发送电子邮件

javascript - 如何处理对同一个 Web Worker 的多个请求

mysql - Spring + Hibernate - @Table 名称注释的问题

javascript - iOS 5 在选项卡未激活时暂停 JavaScript

java - 两次第二次 ArgumentCaptor.capture() in Mockito.when()

php - 如何从用户表单 PHP 安全地编辑数据库中的信息

javascript - AngularJS - 如果表单无效则阻止提交表单

javascript - 为什么 TinyMCE 不将我的 html 转换为其所见即所得格式?

javascript - 加载集线器时出错。 HTML5/js 前端和 C# 后端