2012-11-28 61 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

相關問題