2012-11-28 116 views
1

其我的第一篇文章:) 我想选择组合框的选项,并且依赖于此选项,您希望打印一个标签或其他标签。例如,如果我选择选项 - > DNI标签将DNI:或者,如果我选择选项 - >农布雷标签将农布雷:第一如何在弹簧组合框中选择一个选项MVC

<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> 

回答

0

第一件事,改变你的<form:label path="buscarPor">Buscar Por:</form:label>别的东西的path属性。 Spring标记库会生成一个具有相同值的id属性,这将直接与选择标记的id属性发生冲突。这就是为什么在您当前的代码中,jquery选择label标签而不是select标签,并将change事件绑定到它。

也就是说,也可以看看这个JSFiddle正确的方法来解决这个问题。我认为你的方法太冗长了,你可以通过避免所有if/else块来帮你一个忙。

+0

感谢男人:D,你帮我 – user1860914

+0

如果这回答了你的问题,你可以好心地接受这个答案吗? –

+0

我不能投票,因为我没有声望,即时通讯noob在这个页面对不起 – user1860914

相关问题