У меня есть следующий SELECT, который соединен базой данных. Ты подпираешь, выбрав информацию о списке SELECT, мне показывает в соответствующих INPUT данные корреспондент полей, присоединенных к выбору, сделанному в SELECT.
Что желание состоит, в том, что выбрав любую информацию о списке SELECT, я вывел некие INPUT из строя. До настоящего времени я смог выводить из строя INPUTS, которые я желаю только, когда clickeo в выборе SELECT и я не добавляю код для того, чтобы они показали мне данные в INPUT. Но когда я включаю код для того, чтобы, если появились в INPUT данные, соответствующие выбору, который делается в SELECT, эти не выводятся из строя.
В заключении, я хочу, чтобы, выбрав любой выбор списка SELECT, меня из строя вывели некие INPUTS, поддерживая соответствующие данные в INPUT согласно выбору, который делается в SELECT.
Код, который не выводит INPUT из строя, когда я помещаю код для того, чтобы он показал данные в INPUT как выбор в SELECT
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form>
<div align="center">
<select id="colaboradores" onchange="deshabilitar(this)">
<script type="text/javascript">
document.getElementById('colaboradores').onchange = function() {
var mOption = this.options[this.selectedIndex];
var mData = mOption.dataset;
var elCodigo = document.getElementById('codigo');
var elDni = document.getElementById('dni');
elCodigo.value = this.value;
elDni.value = mData.dni;
};
function deshabilitar(obj) {
var hab;
frm=obj.form;
num=obj.selectedIndex;
if (num) hab=true;
frm.codigo.disabled=hab;
frm.dni.disabled=hab;
}
</script>
<option value="0" data-dni="" selected disabled>--Seleccione colaborador--</option>
<?php
$query = $conn -> query ("SELECT * FROM colaborador");
while ($row = $query->fetch_assoc()) {
$data="data-dni=\"$row[dni]\"";
$value="value=\"$row[codigo]\"";
echo "<option $value $data>$row[nombre]</option>";
}
?>
</select>
<hr />
<input id="codigo" type="text" placeholder="codigo" />
<input id="dni" type="text" placeholder="DNI" />
</div>
</form>
</body>
</html>
Код, что если dehabilita INPUT, не помещая кода для того, чтобы он показал данные в INPUT как выбор в SELECT
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form>
<div align="center">
<select id="colaboradores" onchange="deshabilitar(this)">
<script type="text/javascript">
function deshabilitar(obj) {
var hab;
frm=obj.form;
num=obj.selectedIndex;
if (num) hab=true;
frm.codigo.disabled=hab;
frm.dni.disabled=hab;
}
</script>
<option value="0" data-dni="" selected disabled>--Seleccione colaborador--</option>
<?php
$query = $conn -> query ("SELECT * FROM colaborador");
while ($row = $query->fetch_assoc()) {
$data="data-dni=\"$row[dni]\"";
$value="value=\"$row[codigo]\"";
echo "<option $value $data>$row[nombre]</option>";
}
?>
</select>
<hr />
<input id="codigo" type="text" placeholder="codigo" />
<input id="dni" type="text" placeholder="DNI" />
</div>
</form>
</body>
</html>
Проблема состоит в том, что, сначала ты соединял onChange, который было нужно выводить из строя, и despuГ©s volvГ-схвати это, чтобы ее соединяться с другой funciГіn, он препятствовал onchage она оставалась соединенной только с Гєltima funciГіn, что я делаю, состоит в том, чтобы funciГіn выводить из строя, приказало называть другую funciГіn, который tambiГ©n он хочет выполнить в onchange, asГ - работают две
function cargarDatos(obj) {
var mOption = obj.options[obj.selectedIndex];
var mData = mOption.dataset;
var elCodigo = document.getElementById('codigo');
var elDni = document.getElementById('dni');
elCodigo.value = obj.value;
elDni.value = mData.dni;
}
function deshabilitar(obj) {
var hab;
frm=obj.form;
num=obj.selectedIndex;
if (num) hab=true;
frm.codigo.disabled=hab;
frm.dni.disabled=hab;
cargarDatos(obj);
}
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form>
<div align="center">
<select id="colaboradores" onchange="deshabilitar(this)">
<option value="0" data-dni="" selected disabled>--Seleccione colaborador--</option>
<?php
$query = $conn -> query ("SELECT * FROM colaborador");
while ($row = $query->fetch_assoc()) {
$data="data-dni=\"$row[dni]\"";
$value="value=\"$row[codigo]\"";
echo "<option $value $data>$row[nombre]</option>";
}
?>
</select>
<hr />
<input id="codigo" type="text" placeholder="codigo" />
<input id="dni" type="text" placeholder="DNI" />
</div>
</form>
</body>
</html>