how to save the id of a combobox?

0

I have a table costs that has the activity table foreigner

I enter the costs through a modal, there is a combobox of the name of the activity (outside of the activity table) and in the value I have the id_activity. echo '<option value="'.$valores['id_actividad'].'">'.$valores['n_actividad'].'</option>' What I do not achieve is that, when selecting the name, I save only the id of that data.

modal for cost entry

<div class="modal fade" id="modalNuevo" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
     <div class="modal-dialog modal-sm" role="document">
       <div class="modal-content">
        <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
          <h4 class="modal-title" id="myModalLabel">Agrega nueva persona</h4>
        </div>
         <div class="modal-body">
         

         
    <label>Nombre actividad:</label> 
    <select class="form-control" id="id_actividad_costo" required>
        <?php
                            
        $sql = ("SELECT * FROM 'actividad' ORDER BY 'n_actividad' ASC");
         $resultado=mysqli_query($conexion,$sql);
         while ($valores = mysqli_fetch_array($resultado)) {
												
         echo '<option value="'.$valores['id_actividad'].'">'.$valores['n_actividad'].'</option>';
													
         }
    
        ?> 
        
    </select>
         

    <label>Numero de estudiantes:</label> 
    <input type="text" class="form-control" id="numero_estudiantes" onkeyup="sumar();">
    
    <label>Traslado:</label> 
    <input type="text" class="form-control" id="traslado" onkeyup="sumar();">
    
    <label>Colacion:</label> 
    <input type="text" class="form-control" id="colacion" onkeyup="sumar();">
   
    <label>Materiales:</label> 
    <input type="text" class="form-control" id="materiales" onkeyup="sumar();">
    
    <label>Servicio de cafe:</label> 
    <input type="text" class="form-control" id="servicio_cafe" onkeyup="sumar();">
    
    <label>Pago de ayudante:</label>
    <input type="text" class="form-control" id="pago_ayudante" onkeyup="sumar();">
    
    <label>Otros:</label> 
    <input type="text" class="form-control" id="otros" onkeyup="sumar();">
    
     <label>Total:</label> 
     <input type="text" class="form-control" id="total" disabled value="0">
            
             
             
         </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-primary" data-dismiss="modal" id="guardarnuevo">
        Agregar
        </button>
       
      </div>
    </div>
  </div>
</div>

<script type="text/javascript">
	$(document).ready(function(){
		$('#tabla').load('componentes/tabla.php');
    $('#buscador').load('componentes/buscador.php');
	});
</script>

<script type="text/javascript">
    $(document).ready(function(){
        $('#guardarnuevo').click(function(){
          id_actividad_costo=$('#id_actividad_costo').val();
          numero_estudiantes=$('#numero_estudiantes').val();
          traslado=$('#traslado').val();
          colacion=$('#colacion').val();
          materiales=$('#materiales').val();
          servicio_cafe=$('#servicio_cafe').val();
          pago_ayudante=$('#pago_ayudante').val();
          otros=$('#otros').val();
          total=$('#total').val();
            agregardatos( id_actividad_costo, numero_estudiantes, traslado, colacion, materiales, servicio_cafe, pago_ayudante, otros, total);
        });



        $('#actualizadatos').click(function(){
          actualizaDatos();
        });

    });
</script>

adddatos.php

<?php 

	require_once "conexion.php";
	$conexion=conexion();
    $id_costo=$_POST['id_costo'];
    $id_actividad_costo=$_POST['id_actividad_costo'];
	$numero_estudiantes=$_POST['numero_estudiantes'];
	$traslado=$_POST['traslado'];
    $colacion=$_POST['colacion'];
    $materiales=$_POST['materiales'];
    $servicio_cafe=$_POST['servicio_cafe'];
    $pago_ayudante=$_POST['pago_ayudante'];
    $otros=$_POST['otros'];
    $total=$_POST['total'];

	$sql="INSERT into costos (id_actividad_costo, numero_estudiantes, traslado, colacion, materiales, servicio_cafe, pago_ayudante, otros, total)
values ('$id_actividad_costo','$numero_estudiantes', '$traslado','$colacion','$materiales','$servicio_cafe','$pago_ayudante','$otros','$total')";
	echo $result=mysqli_query($conexion,$sql);

 ?>

ajax add data functions.js

function agregardatos(id_actividad_costo, numero_estudiantes, traslado, colacion, materiales, servicio_cafe, pago_ayudante,otros,total){

	cadena="id_actividad_costo=" + id_actividad_costo +
            "&numero_estudiantes=" + numero_estudiantes + 
			"&traslado=" + traslado +
            "&colacion=" + colacion +
            "&materiales=" + materiales +
            "&servicio_cafe=" + servicio_cafe +
            "&pago_ayudante=" + pago_ayudante +
            "&otros=" + otros +
            "&total=" + total ;

    $.ajax({
		type:"POST",
		url:"php/agregarDatos.php",
		data:cadena,
        beforeSend: function() {
        console.log(cadena);
        },
		success:function(r){
			if(r==1){
				$('#tabla').load('componentes/tabla.php');
				 $('#buscador').load('componentes/buscador.php');
				alertify.success("agregado con exito :)");
			}else{
				alertify.error("Fallo el servidor :(");
			}
		}
	});


}
    
asked by claudia24 11.04.2018 в 23:15
source

1 answer

0

Change this line:

id_actividad_costo=$('#id_actividad_costo').val();

Because of this:

id_actividad_costo=$('#id_actividad_costo').find('option:selected').val();
    
answered by 12.04.2018 в 00:18