AJAX - ComboBox no funciona la segudna caja

   
Vista:

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:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ComboBox no funciona la segudna caja

Publicado por Alberto (5 intervenciones) el 19/04/2017 16:38:54
Solucion

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
<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>Proyecto</label>
<select name="acro_documento" id="acro_documento" class="dropdown" onchange="change_documento();">
<option value="">Proyecto</option>
<?php while($row = $query->fetch_assoc()) { ?>
	<option value="<?php echo $row['acro_documento']; ?>"><?php echo $row['acro_documento']; ?> </option>
<?php } ?>
 
</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 acro_documento = $("#acro_documento").val();
 
	   $.ajax({
		type: "POST",
		url: "subcategoria.php",
		data: "acro_documento="+acro_documento,
		cache: false,
		success: function(response)
			{
					//alert(response);return false;
				$("#subcategoria").html(response);
			}
			});
 
}
</script>

1
2
3
4
5
6
7
8
9
10
<?php
include('dbConfig.php');
$acro_documento = $_POST['acro_documento'];
$sql= "select * from tipodocumentos where acro_documento='$acro_documento'";
$query = $db->query($sql);
echo '<option value="">Selecciona una Subcategoria</option>';
while($res = $query->fetch_assoc()){
echo '<option value="'.$res['acro_documento'].'">'.$res['acro_subcategoria'].'</option>';
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

ComboBox no funciona la segudna caja

Publicado por xve (207 intervenciones) el 19/04/2017 17:12:01
Gracias por compartirlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad