AJAX - Problema creando combos en tabla dinamica con ajax

 
Vista:

Problema creando combos en tabla dinamica con ajax

Publicado por carola (4 intervenciones) el 12/06/2008 21:11:05
Buenas tardes!!! Tengo un problema con un formulario y agradeceria mucho si alguien me puede ayudar a resolverlo o me puede sugerir otra forma de hacerlo.

El formulario tiene un combo y al seleccionar una opción, se debe crear una tabla en forma dinámica con n filas y 7 columnas. Cada fila se debe crear con los datos extraidos de la base de datos. Una de las columnas será una caja de texto o un combo, esto va a depender de un valor q se trae de la base de datos. Si el valor es 1 se debe crear una caja de texto en esa celda pero si es 2, se debe crear un combo. He aqui el problema, bien este combo se debe crear con una función en php ya q sus opciones van a depender de los datos q tenga en la base de datos, para crearlo lo hice con una función ajax y funciona. Funciona crea el combo en la celda siempre y cuando en todas las filas de la tabla exista solo una celda donde se deba formar el combo. Si existen más de dos filas donde deba crearse el combo, la función crea la primera vez el combo y las siguientes filas no crea nada.

No entiendo por q? ocurre esto, por un momento pensé q tenía un error en la función que crea la tabla dinámica, pero la cambie y ocurre lo mismo. No me queda otra si no pensar q el problema es con la llamada al ajax. Si se llama más de una vez no funciona.

Les agradezco si me pueden ayudar a resolverlo.

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

RE:Problema creando combos en tabla dinamica con a

Publicado por Harox (6 intervenciones) el 13/06/2008 16:51:06
Hola que tal?

Espero poder serte de ayuda... Vamos a ver si te entiendo.

Tienes una pagina con un combo inicial que dependiendo de la seleccion crea una tabla con n filas de 7 columnas.
Por ejemplo tienes el siguiente combo:

<select id="cboSeleccion" onchange="metodoAjax('pagina.php?valor='this.value, 'contenedor');">
<option value="1">Opcion 1</option>
<option value="2">Opcion 2</option>
.
.
.
</select>


en tu javascript tendrias la funcion metodoAjax(url, idContenedor)

function metodoAjax(url, idCotenedor){
cont = document.getElementById(idContenedor);
ajax=newAjax();
ajax.open("GET", url,true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
cont.innerHTML = ajax.responseText
}
}
ajax.send(null);
}

Esta funcion la necesitas para usar el metodo anterior.

function newAjax(){
var xmlhttp=false;
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
catch (e) {
try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch (E) {xmlhttp = false;}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

luego en tu archivo.php

<?
$valor = $_GET["valor"];
//ejectutas el query usando el valor como parametro para obtener la informacion que deseas.
echo "<table>";
for($i=0; $i<$nfilas; $i++){
echo "<tr>";
//vas colocando todas las columnas que desees con los datos que haz cargado de la base de datos.
//suponemos que en la variable $tipo guardas el valor que te retorno la base de datos. Si es 1 pones el TextBox y si es 2 Pones el Combo
//antes de crear la columna donde va el combobox o el textbox verificas la variable $tipo
if($tipo==1){
//creas las columna con el textbox
echo "<td>";
crearTextBox("id", "valor");
echo "</td>";
}
else{
//buscas los valores en la base de datos que deseas que tenga el combobox y supongamos que los guardas en un arreglo $variables
//creas las columna con el ComboBox
echo "<td>";
crearTextBox("id", $variables);
echo "</td>";
}
echo "</tr>";
}

echo "</table>";

function crearTextBox($id, $valor){
echo "<input type='text' id='".$id."' name='".$id."' value='".$valor."'>";
}

function crearCombo($id, $valores){
echo "<select id='".$id."'>";
for($i=0; sizeof($valores); $i++){
echo "<option>".$valores[$i]."</option>";
}
echo "</select>";
}
?>

espero haber entendido tu pregunta y que me respuesta te sea de ayuda.
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

RE:Problema creando combos en tabla dinamica con a

Publicado por iscarol (4 intervenciones) el 18/06/2008 22:25:52
Si muchas gracias por tu ayuda.
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