Mostrar datos en campo de texto mediante un SELECT

танго una таблица llamada COLABORADOR подставляет идентификатор Кампуса, CODIGO, NOMBRE Y DNI, deseo que al seleccionar el nombre de cada colaborador que se muestre en el combobox, меня muestre los datos de CODIGO, DNI en los campos de texto, de acuerdo а-ля seleccion que se Хага en el combobox (ВЫБОР).

Acá dejo el codigo, ya танго llenada el combobox подставляют los datos de los colaboradores.

Gracias de antemano, ООН saludo.

EDITO:

Investigando Комо podría realizarlo, меня, крапивник подставляет el siguiente código Javascript, pero соло меня muestra el valor que pongo en el VALUE del OPTION en el SELECT, таблица por lo que solo muestra el ID de mi de ми, основывают de datos. Pero эй deseo que adicional eso меня muestre Лос демы datos de los campos de la tabla colaborador que tengo en mi основывает de datos.

Основа El nombre de mi de datos es: таблица asistencia Tiene una tabla llamada colaborador Y en esa tiene Лос siguientes Кампус: id_colaborador, codigo, nombre, dni

<!DOCTYPE html>
<html>
<head>
  <title>Demo de menú desplegable</title>
  <meta charset="utf-8" />
 
</head>


<body>

                    <script type="text/javascript">
                    function mostrar() {
                      var colaborador= document.getElementById("colaborador"),
                         codigo = document.getElementById("codigo");
                         
                        codigo.value  = colaborador.value;
                   
                    
                    }


                    </script>



 <div align="center"> 


  
      <select id="colaborador"  name="colaborador" onchange="mostrar()">
        
        <option value="">Seleccione:</option>
        
        <?php
       
          
          $query = $conn -> query ("SELECT * FROM colaborador");


          while ($valores = mysqli_fetch_array($query)) {
            echo '<option value="'.$valores[codigo].' ">'.$valores[nombre].'</option>';
           
          }
        ?>


      </select>

                <br>  <br>  <br>  <br>  <br>  <br> 
              CODIGO: <input type="text" name="codigo"  id="codigo">

            <br>  <br>
             DNI: <input type="text" name="dni" id="dni">

  </div>

</body>

</html>

Alguna ayuda? Имеет к ahora соло его podido mostrar el ID de cada colaborador en un campo de texto..

1
задан 08.11.2019, 01:26
2 ответа

В HTML / языке сценариев JavaScript ты нуждаешься в чем-то asГ-. Если ты это тестируешь verГЎs, что функционирует. Потом я показываю тебе cГіmo, мне удается создать этот select с PHP, используя данные о базе данных.

HTML / язык сценариев JavaScript

document.getElementById('colaboradores').onchange = function() {
  /* Referencia al option seleccionado */
  var mOption = this.options[this.selectedIndex];
  /* Referencia a los atributos data de la opción seleccionada */
  var mData = mOption.dataset;

  /* Referencia a los input */
  var elId = document.getElementById('id');
  var elCodigo = document.getElementById('codigo');
  var elNombre = document.getElementById('nombre');
  var elDni = document.getElementById('dni');


  /* Asignamos cada dato a su input*/
  elId.value = this.value;
  elCodigo.value = mData.codigo;
  elNombre.value = mOption.text; /*Se usará el valor que se muestra*/
  elDni.value = mData.dni;


};
<select id="colaboradores">
  <option value="0" data-codigo="" data-dni="" selected disabled>--Seleccione colaborador--</option>
  <option value="1" data-codigo="A1" data-dni="111">Pedro</option>
  <option value="2" data-codigo="M1" data-dni="222">María</option>
  <option value="3" data-codigo="S1" data-dni="333">Santiago</option>
</select>
<hr />
<input id="id" type="text" placeholder="id" />
<input id="codigo" type="text" placeholder="código" />
<input id="nombre" type="text" placeholder="nombre" />
<input id="dni" type="text" placeholder="DNI" />

PHP

ты сказал, что колонны твоей таблицы - следующие: id_colaborador, codigo, nombre, dni

Понимая, что все идет хорошо, я показываю тебе только блок чтения данных, где construirГ-схвати select, как он появляется mГЎs наверху:

<div align="center">   
    <select id="colaboradores">
        <option value="0" data-codigo="" data-dni="" selected disabled>--Seleccione colaborador--</option>
<?php          
        $query = $conn -> query ("SELECT * FROM colaborador");
        while ($row = $query->fetch_assoc()) {
            $data="data-codigo=\"$row[codigo]\" data-dni=\"$row[dni]\""; #Como atributo data sólo irán codigo y dni
            $value="value=\"$row[id_colaborador]\"";                      #El id_colaborador lo tomaremos del value
            echo "<option $value $data>$row[nombre]</option>";           #El nombre lo tomaremos del text
        }
?>
    </select>
<hr />
    <input id="id" type="text" placeholder="id" />
    <input id="codigo" type="text" placeholder="código" />
    <input id="nombre" type="text" placeholder="nombre" />
    <input id="dni" type="text" placeholder="DNI" />
</div>

Восток cГіdigo deberГ, - чтобы производить то же самое, что есть наверху и funcionarГ - в равный. Я применил какой-то прогресс, как предотвратил вызовы in line с Javascript, поэтому одна prГЎctica не рекомендуемая. Пока mГЎs независимым был твой лучший HTML, потом, ты можешь слушать изменения select из-за Ваш пойдите. TambiГ©n я исправил смесь стилей в чтении базы данных в cГіdigo PHP, используя ademГЎs один mГ©todo mГЎs especГ-fico, чего fetch_assoc, так как fetch_array приносит тебе данные два раза, как array ассоциативно и numГ©rico.

, Если есть algГєn проблема, ты это говоришь в комментариях. Я надеюсь, что он подает тебя.

0
ответ дан 01.12.2019, 12:37
  • 1
    Большое спасибо из-за довольно подробного ответа, за него благодарен. Я только что протестировал это, в код PHP, который ты комментируешь, его agregué код Javascript наверху, но только он тянет мне данные в SELECT, aú n он ничего не показывает мне в inputs, что больше я должен добавлять его? – EDG_DGK 08.11.2019, 03:59
  • 2
    @EDG_DGK он должен добавлять có я говорю Javascript, как появись в первой части ответа. Первый блок có я говорю в разделе HTML / язык сценариев JavaScript . – A. Cedano 08.11.2019, 15:15
  • 3
    Muchí пропасти спасибо, я sirvió. То, что он перемещал, состояло в том, что он помещал код Javascript в место erró neo. Ademá s, noté что в lí nea кода PHP, который ты прокомментировал, ему не хватало кавычки, перед переменной ROW: $value =" оцените =\" $row [id_colaborador] \" "; – EDG_DGK 08.11.2019, 23:48

function mostrar(select) {
		document.getElementById("dni").value = select.value;
		document.getElementById("codigo").value = select.selectedOptions[0].text;
	  
	}
<select id="colaborador"  name="colaborador" onchange="mostrar(this)">
		<option value="101">Nombre 1</option>
		<option value="205">Nombre 2</option>
		<option value="302">Nombre 3</option>
</select>
  <br>  <br>
 CODIGO: <input type="text" name="codigo"  id="codigo">

            <br>  <br>
             DNI: <input type="text" name="dni" id="dni">
0
ответ дан 10.11.2019, 22:41

Теги

Похожие вопросы