танго 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.
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..
В HTML / языке сценариев JavaScript ты нуждаешься в чем-то asГ-. Если ты это тестируешь verГЎs, что функционирует. Потом я показываю тебе cГіmo, мне удается создать этот select
с PHP, используя данные о базе данных.
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" />
ты сказал, что колонны твоей таблицы - следующие: 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 проблема, ты это говоришь в комментариях. Я надеюсь, что он подает тебя.
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">