Enviar la selección del menú desplegable de Bootstrap a $ _POST

Mi objective es enviar la selección de usuarios del menú desplegable de arranque a $ _POST. Mientras investigaba esta pregunta, me encontré con esto ( el campo de entrada del progtwig de arranque y el botón de menú desplegable ) Mi pregunta es muy similar a esta. Sin embargo, cuando probé lo que la respuesta a esa pregunta me recomendó, no funcionó para mí por varias razones.

Mi código

 

Aspectos del código que no funcionan

  1. Cuando el li está nested dentro del elemento de formulario, cambia el formato del menú desplegable. Me gustaría que el menú desplegable sea un formulario, pero quiero que se vea como el menú desplegable de arranque predeterminado.

  2. Adjuntar un controlador de eventos onclick a los elementos li simplemente no funciona. Incluso después de hacer clic en el li, el PHP no detecta ningún valor para $ _POST [‘topic’]

Resumen de objective

Me gustaría el menú desplegable predeterminado de bootstrap. Me gustaría que el usuario pueda hacer clic en cualquier elemento en el menú desplegable. Después del clic, la selección se debe agregar a la matriz $ _POST en el índice “tema”

Hay un error de syntax en su código de click() . Te perdiste 2 puntos y comas al final.

  $(function() { $('.dropdown-menu li').click(function() { $('#my_topic').val($(this).html()); $('#my_form').submit(); }); // <-- need a semi-colon here. }); // <-- and here. 

Aparte de lo anterior:

  1. Su manejador de clics claramente no está siendo llamado.

  2. Está utilizando la API de jquery, sin vincular primero al archivo de script de jquery.

  3. Haga el punto 2, luego elimine el $(function()...) externo $(function()...) y en su lugar, use

      $(document).ready(function(){ $('.dropdown-menu li').click(function() { $('#my_topic').val($(this).html()); $('#my_form').submit(); }); }); 

Y, mira esta demostración .

Prueba esto

 

si desea enviar toda la barra de navegación, elimine el campo oculto llamado topic y use el siguiente script