[RESOLVIDO] Montar e preencher uma table dinâmica

2 respostas
Drockx

Bom pessoal meu problema é o seguinte tenho um página pego um nome ou uma letra e faço uma pesquisa no banco, de acordo
com o que me retornar essa pesquisa eu preciso montar uma table para exibir alguns dados dessa pesquisa. Bom eu até
consigo montar a quantidade de linhas dinamicamente, mais não consigo concatenar os valores retornados da servlet que vem via ajax.
este é meu problema como montar a table com esse valores segue o código.

var s = Ajax.responseText;
	var s1 =s.split("#"); // pega a string retornada da servlet e quebra por partes de cada produto
                            
	var local=document.getElementById('seleciona_pro');  // id da table que quero preencher
	
	for(i = 0; i < s1.length; i++){
		var tblBody = local.tBodies[0];  
		var newRow = tblBody.insertRow(-1);  
		var valores = s1(i).toString();     // quebra novamente a string para poder pegar os valores referentes a cada coluna da table
		var newCell0 = newRow.insertCell(0);  
  
		var newCell0 = newRow.insertCell(0);  
		newCell0.innerHTML = "<td><input type='text' "+valores(0)+" </input></td>";   

		var newCell1 = newRow.insertCell(1);  
		newCell1.innerHTML = "<td><input type='text' "+valores(1)+"</input></td>"; 
	}

Aa pessoal quando eu troco essas concatenações por valores string ai ele funciona blz.

2 Respostas

rafaduka

O problema então, está na parte do retorno da [size=9]s1[/size]?

ao invés de capturar assim
var valores = s1(i).toString();
use colchetes:
var s1 = s.split("#");

for (var i =0; i < s1.length; i++) {
      alert (s1[i]);
}
Drockx

Valeu Rafaduca, fiz assim:

var s = Ajax.responseText;  
    var s1 =s.split("#"); // pega a string retornada da servlet e quebra por partes de cada produto  
                              
    var local=document.getElementById('seleciona_pro');  // id da table que quero preencher  
      
    for(i = 0; i < s1.length; i++){  
         var tblBody = local.tBodies[0];  
         var newRow = tblBody.insertRow(-1); 
         var sss = s1[i].split("|");

        var newCell0 = newRow.insertCell(0);  
        newCell0.innerHTML = '<td>'+sss[1]+'</td>';   

       var newCell1 = newRow.insertCell(1);  
       newCell1.innerHTML = '<td>'+sss[1]+'</td>';  

       var newCell2 = newRow.insertCell(2);  
       newCell2.innerHTML = '<td>'+sss[3]+'</td>';   
}

Funcionou blz!

Criado 27 de março de 2012
Ultima resposta 27 de mar. de 2012
Respostas 2
Participantes 2