Nueva pregunta

Pregunta:

Fecha: 22-05-2017 07:23:05 (En Español)

Cargar datos desde combobox a input[Resuelta]

Buenos dias, disculpe podrian ayudarme con este problema que tengo por favor, les comento
Te comento, tengo 2 tablas que es:
Tabla1 = Plan
id
nombre
precio
Tabla2 = servicios
id
cliente
monto
plan_id

en la tabla servicios en el campo monto quiero guardar el valor del precio de la tabla plan, para plan_id estoy cargando todo los plan registrados en un combobox, mi proposito que que cuando se seleccione el plan que el precio de ese plan se llene en el campo monto , por favor me podrian apoyar se le agradece mucho

aqui esta el link de la captuda
https://www.dropbox.com/s/s4cjlsfoyp9rqf8/Ayuda.png?dl=0



Codigo de Agregar.
  <div class="form-group">
              <label for="inputEmail1" class="col-lg-2 control-label">Velocidad</label>
              <div class="col-md-6">
                <select name="plan_id" class="form-control">
                  <option value="">-- Seleccione --</option>
                  <?php foreach($velocidad as $plan):?>
                    <option value="<?php echo $plan->id;?>"><?php echo $plan->nombre."  ".'S/.'.$plan->precio;?></option>
                  <?php endforeach;?>
                </select>    
              </div>
            </div> 
            <div class="form-group">
              <label for="inputEmail1" class="col-lg-2 control-label">Monto Total </label>
              <div class="col-md-6">
                <input type="text" name="monto"  class="form-control" placeholder="Total a Pagar">
              </div>
            </div> 


Por favor tambien podrian ayudar para que cuando hago un Update tambien de, gracias
Etiquetas: Bootstrap - MySQL - PHP - Pregunta Votos: 1 - Respuestas: 6 - Vistas: 21 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 22-05-2017 18:54:59 deja ver si entendí, tu quieres que inmediatamente el cliente seleccione un plan de arriba, en el otro select se pongo el precio correspondiente a ese plan? si es asi php no hace cambios sin que se actualice la pagina o lo que puede ser lo mismo que se envie el formulario devuelve un REQUEST con los datos preseleccionado, una opcion que puedes optar es usar Jquery busca en youtube como hacerlo   Votos: 0 - Link respuesta
     
  • Fecha: 23-05-2017 05:34:09 Puedes partir por aqui
    $(function(){
    	$('select[name="plan_id"]').on('change',function(e){
    		$('input[name="monto"]').val($(this).find(":selected").text());
    	})
    })
    

    Saludos.
      Votos: 2 - Link respuesta
     
  • Fecha: 23-05-2017 08:28:39 Hola Joel:

    Lo más fácil sería hacerlo en javascript (para tan poca cosa, podemos evitar cargar la librería JQuery).

    Te dejo una pequeña muestra donde, elegido un plan, obtengo automáticamente el precio y el monto.

    El HTML sería:
    Plan
    <select name="plan" id="plan" onchange= "javascript:prueba()">
        <option value="">-- Seleccione --</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
    </select>
    <br>
    Precio
    <input id="precio" type="text" name="precio" />
    <br>
    Total a Pagar
    <input id="monto" type="text" name="monto" />

    Y la función javascript,a la que llamamos mediante onchange y caprichosamente he querido llamarla prueba(), sería
        <script>
    function prueba(){
        var plan = document.getElementById("plan").value;
        var precio = document.getElementById("precio");
        var monto = document.getElementById("monto");
    	if (plan == 1) {
    	    precio.value = 110;
    	    monto.value = precio.value;
    	} else if (plan == 2) {
    	    precio.value = 120;
    	    monto.value = precio.value;
    	} else if (plan == 3) {
    	    precio.value = 130;
    	    monto.value = precio.value;
    	} else if (plan == 4) {
    	    precio.value = 140;
    	    monto.value = precio.value;
    	} else if (plan == 5) {
    	    precio.value = 150;
    	    monto.value = precio.value;
    	}
    }
        </script>

    Observa que estoy trabajando con id's

    Si estos datos necesitas pasarlos a otra página o a base de datos, tendrías que trabajar dentro de un formulario y sería recomendable ajax (en este caso sí facilita mucho JQuery).
      Votos: 2 - Link respuesta
     
  • Fecha: 24-05-2017 13:46:54 Joel.

    No sé por donde coger tu código. (Por cierto que un foro es par ayudar, no para trabajar para terceros)

    Algunas notas:
    <form class="form-horizontal" method="post" action="./?action=ventas&op=add">

    No entiendo.
    method="post" OK
    action="./?action=ventas&op=add" Eso requiere un method="get" ????
    ¿Cómo llegas a la página ./?action=ventas&op=add ?

    Veo muchos div con sus correspondiente class. Supondo que es por programación CSS (estilos) pero no veo ningun id que nos aseguraría la programación en Javascript. Podríamos programar Javascript sobre class pero se supone que puede/suele repetirse y generar gratuitamente otros problemas).

    <label for="inputEmail1" ...>xxx</label>

    Revisa la programación HTML de los label porque a mí no me cuadra.
    <label for="element_id">

    Los valores $velocidad $plan no los puedo controlar ya que están dentro de PHP que llegarán de algún lado.

    Y termino por no saber si tu cuestión la solucionamos con un simple Javascript, necesitas apoyarte en ajax o lo controlamos (el tema era Cargar datos desde combobox a input) mediante PHP (servidor).

    P.D.: A tu "código completo" le sobra un div no cerrado.
      Votos: 1 - Link respuesta
     
  • Fecha: 28-05-2017 03:50:03 Buenas Amigo tu problemas es el siguente tienes que hacerlo por ajax ya que php lenguaje que se ejecuta del lado del servidor para hacerlo busca select dependientes en ajax con jquery encontrarar muchas informacion de como pasarle los datos de uno select o un input a otro   Votos: 0 - Link respuesta
     
  • Fecha: 05-06-2017 15:39:37 Muy buenas noches, primeramente me disculpo por no haber podido respondes a sus respuestas, estuve ausente, también agradecerles a cada uno de ustedes por sus respuestas y observaciones, he estado haciendo la prueba para cargar los datos con ajax, pero no he tenido éxito.
    De esta manera he estado realizando el script:
    <script>
        $(document).ready(function(){
            $("#precio").prop('disabled', true);
            $("#plan_id").change(function(){
                var precio = $("#precio");
                var plan = $(this);
                
                if($(this).val() != '')
                {
                    $.ajax({
                        data: { id : plan.val() },
                         url:   '?=VentasData&=PlanPrecio',
                        type:  'POST',
                        dataType: 'json',
                        beforeSend: function () 
                        {
                            plan.prop('disabled', true);
                        },
                        success:  function (r) 
                        {
                            plan.prop('disabled', false);
                              precio.find('option').remove();
                            
                            $(r).each(function(i, v){ // indice, valor
                                precio.append('<option value="' + v.id + '">' + v.precio + '</option>');
                            })
                            
                            precio.prop('disabled', false);
                        },
                        error: function()
                        {
                            alert('Ocurrio un error en el servidor ..');
                            plan.prop('disabled', false);
                        }
                    });
                }
                else
                {
                    precio.find('option').remove();
                    precio.prop('disabled', true);
                }
            })
        })
    </script>
    

    nuevamente acudo a ustedes para que me apoyen, con sus comentarios, sugerencias así poder saber donde esta mi error, gracias de antemano, que tengan un buen día.
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com