
ComboBox no funciona la segudna caja
Publicado por Alberto (5 intervenciones) el 19/04/2017 13:38:08
Buenas, estoy tenienod un problema con un ComBox simple de dos cajas que no me recoge la segunda caja.
Mis tablas son:
Y este es el PHP /AJAX que estoy utilizando:
Es capaz de recogerme los datos de la primera fila pero no muestra nada en la segunda.
Debe de funcionar de la siguiente manera:
Que seleccionando cualqueir Acronimo de documento de la tabla tipo de documentos muestre en el segundo las diferentes subcategorias que le pudieran pertenecer.
Para la segunda caja no se cual de las dos tablas deberia de seleccionar concretamente, por que el combo box funcionara en la segudna tabla pero podria coger todos los datos de la primera pero ahroa mismo me quede en blanco.
Gracias.
Mis tablas son:
1
2
3
4
5
6
7
8
9
10
CREATE TABLE tipodocumentos (
acro_documento CHAR ( 3 ) NOT NULL,
acro_subcategoria CHAR ( 3 ) NOT NULL,
tipo_documento VARCHAR ( 100 ) NOT NULL,
registro_calidad CHAR( 1 )NOT NULL,
calidad_code INT NOT NULL,
cod_tempo INT NOT NULL,
PRIMARY KEY(acro_subcategoria,acro_documento),
FOREIGN KEY (acro_subcategoria) REFERENCES subcategoria(acro_sub) on DELETE CASCADE)
Engine = INNODB;";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CREATE TABLE documento (
titulo_documento VARCHAR ( 50 )NOT NULL,
proyecto CHAR ( 3 )NOT NULL,
estado VARCHAR ( 10 )NOT NULL,
idioma VARCHAR ( 10 )NOT NULL,
num_documento INT ( 1 )NOT NULL,
version INT ( 1 )NOT NULL,
revision INT ( 1 )NOT NULL,
descripcion text NOT NULL,
fecha date NOT NULL,
subcategoria CHAR ( 3 )NOT NULL,
confidencialidad CHAR ( 1 ) NOT NULL,
tipo_documento CHAR ( 3 )NOT NULL,
acro_usuario CHAR ( 3 )NOT NULL,
aprobado_por CHAR ( 3 ) NOT NULL,
autorizado_por CHAR ( 3 ) NOT NULL,
revisor CHAR ( 3 ) NOT NULL,
compania CHAR ( 3 )NOT NULL,
codigo_proyecto VARCHAR ( 30 )NOT NULL,
PRIMARY KEY(titulo_documento,proyecto,num_documento,version,revision),
FOREIGN KEY (subcategoria,tipo_documento) REFERENCES tipodocumentos(acro_subcategoria,acro_documento),
FOREIGN KEY (acro_usuario) REFERENCES usuarios(acro_usuario) on DELETE CASCADE,
FOREIGN KEY (aprobado_por) REFERENCES usuarios(acro_usuario) on DELETE CASCADE,
FOREIGN KEY (autorizado_por) REFERENCES usuarios(acro_usuario) on DELETE CASCADE,
FOREIGN KEY (revisor) REFERENCES usuarios(acro_usuario) on DELETE CASCADE,
FOREIGN KEY (compania) REFERENCES compania(acronimo) on DELETE CASCADE,
FOREIGN KEY (proyecto) REFERENCES proyectos(acro_proyecto) on DELETE CASCADE)
Engine = INNODB;";
Y este es el PHP /AJAX que estoy utilizando:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<style>
.dropdown
{
width: 150px;
height: 30px;
font-size: 18px;
}
.space
{
margin-left: 40px;
}
</style>
<?php
include('dbConfig.php');
$sql= "select * from tipodocumentos";
$query = $db->query($sql);
$data = $query->fetch_assoc();
?>
<label>Documento</label>
<select name="documento" id="documento" class="dropdown" onchange="change_documento();">
<option value="">Documento</option>
<?php while($row = $query->fetch_assoc()) { ?>
<option value="<?php echo $row['acro_documento']; ?>"><?php echo $row['acro_documento']; ?> </option>
<?php } ?>
<?php
include('dbConfig.php');
$documento = $_POST['documento'];
$sql= "select * from documento where tipo_documento='$documento'";
$query = $db->query($sql);
echo '<option value="">Select State</option>';
while($res = $query->fetch_assoc()){
echo '<option value="'.$res['tipo_documento'].'">'.$res['subcategoria'].'</option>';
}
?>
</select>
<span class="space"></span>
<label>Subcategoria</label>
<select name="subcategoria" id="subcategoria" class="dropdown">
<option value="">Subcategoria</option>
</select>
<script src="https://code.jquery.com/jquery-3.2.0.js"></script>
<script>
function change_documento()
{
var documento = $("#documento").val();
$.ajax({
type: "POST",
url: "documento.php",
data: "documento="+documento,
cache: false,
success: function(response)
{
//alert(response);return false;
$("#subcategoria").html(response);
}
});
}
</script>
Es capaz de recogerme los datos de la primera fila pero no muestra nada en la segunda.
Debe de funcionar de la siguiente manera:
Que seleccionando cualqueir Acronimo de documento de la tabla tipo de documentos muestre en el segundo las diferentes subcategorias que le pudieran pertenecer.
Para la segunda caja no se cual de las dos tablas deberia de seleccionar concretamente, por que el combo box funcionara en la segudna tabla pero podria coger todos los datos de la primera pero ahroa mismo me quede en blanco.
Gracias.
Valora esta pregunta


0