Tengo un formulario que usa un menú desplegable dinámico para elegir las opciones. Estoy usando PHP para extraer los datos de mi base de datos.
Estoy buscando una forma de enviar tanto el valor de la opción (bunker_id) como el contenido (bunker_name).
Soy bastante nuevo en la codificación y he visto algunos tutoriales. Tutorial 1
Estoy un poco perdido. Supuse que esto me permitiría usar $bunker_name=$_POST['name'] en mi página de acción para obtener el contenido, pero cuando realizo un echo($bunker_name) no aparece nada en la página.
¿Hay una mejor manera de obtener valor y contenido?
bunker_id = {1,2,3,...} bunker_name = {Búnker K1, Búnker T2, Búnker X, ...}
<label for="bunker_id">Bunker</label> <select name="bunker_id" id="bunker_id" required> <option value="%" bunk_name="All">All</option> <?php while($data=mysqli_fetch_array($result_bunker)){ echo "<option value='".$data['bunker_id']."' bunk_name='".$data['bunker_name']."'>".$data['bunker_name']."</option>"; } ?> <input type="hidden" id="name" name="name" value=""/> </select> $(function() { $(#bunker_id).change(function(){ var bunkerName =$('option:selected', this).attr('bunk_name'); $('#name').val(bunkerName); }); });Aquí mi solución...
$(function() { // Trigger event when #bunker_id on change $("#bunker_id").on('change', function(){ // get bunker name from selected option var bunkerName = $(this).find(':selected').data('bunker'); // get bunker id from selected option var bunkerId = $(this).val(); // result console.log(`Bunker ID: ${bunkerId} | Bunker Name: ${bunkerName}`); }); }); <label for="bunker_id">Bunker</label> <select name="bunker_id" id="bunker_id" required> <option value="%" data-bunker="All">All</option> <option value="1" data-bunker="Bunker 1">Bunker 1</option> <option value="2" data-bunker="Bunker 2">Bunker 2</option> </select> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>