Boa tarde caros, eu sou novo no forum cheguei agora...
nessa busca por informacao sobre ajax, estou tentando fazer um hyperlink que ja funciona, mas em formato de <option> manja ? fica a janelinha vc escolhe e clica, dai embaixo ja me aparece oque eu escolhi.
bem, eu preciso chamar a funcao usando um hyperlink, para fazer menus dinamicos no site que a empresa mandou eu fazer, estou aqui a varios dias e nao consigo sair dessa, ta bem hard...
parece simples mas eh bem complexa
segue abaixo maiores explicacoes:
atualmente:
Code:
<html>
<c:set var="projetos" value="<%= Factory.getProjetos()%>"/>
<center>
<select id="projeto" onchange="java script:alteraProjeto()">
<c:forEach var="p" items="${projetos}">
<option value="${p.id}">${p.nome}</option>
</c:forEach>
</select>
<br><br>
</center>
</html>
objetivo:
mudar a tag Select pra um hyperlink simples, que chame minha função
Code:
<html>
<c:set var="projetos" value="<%= Factory.getProjetos()%>"/>
<center>
<c:forEach var="p" items="${projetos}">
<a href="#" onclick="alteraProjeto">${p.nome}</a>
</c:forEach>
<br><br>
</center>
</html>
Função que quero chamar:
Code:
function alteraProjeto()
{
var theUrl = "obtemAtividades.jsp?projeto="+document.getElementById("projeto").value;
xmlhttp.open("GET", theUrl,true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
criaTabela(xmlhttp.responseText);
}
}
xmlhttp.send(null);
};
Acontece que nao é tao simples assim, eu preciso criar uma outra funcao javascript que navegue pelo Option, e ache qual foi o projeto que eu desejo visualizar
Bom, pedi uma explicacao pra meu professor la no curso que fiz e ele disse o seguinte:
-------------------------------------------------------------------------------------------------------
Isso não é tão simples assim quanto parece. (como tudo em Javascript).
Você precisará adicionar externamente a tag select um
<div id='nomeProjeto'>
<select ...
</select>
</div>
Em seguida vc vai utilizar a função getElementById procurando pela tag div:
var element = document.getElementById("nomeProjeto"); //essa é a tag do div que irá alterar as options
Vc deverá percorrer pelas tags <option>.
Uma sugestão seria vc pegar o element acima e chamar o método
var listaOptions = element.getElementsByName('option');
As tags filhas devem ser percorridas com um laço for, guardando as informações que estiverem armazenadas
em cada um dos option.
for(i=0;i<listaOptions.length;i++){
....
}
No laço for:
Para ler o texto existente entre as tags option a propriedade innerHTML.
var texto = listaOptions[i].innerHTML;
Em seguida cria-se um element vazio através do comando:
var elementA =document.createElement('A');
Vc deve populá-las com informações sobre o conteúdo a esses elementos
elementA.innerHTML = texto;
em seguida deve-se remover as tags option que vc capturou na variável listaOpcoes.
Por fim, nesta mesma iteração do laço for os elementos (elementA) devem ser adicionados na tag div usando a função
listaOptions.appendChild(elementA);
-------------------------------------------------------------------------------------------
bom oque aconteceu eh que eu nao entendi oque ele me disse pra eu fazer, cara não quero nada mastigado, quero entender..mas ele ta ocupadao trabalhando pra karalho e ta xxxxxx...
sera que alguem, mais experiente poderia dar uma ajudinha ???
em anexo, seguem os fontes, pra voces entenderem melhor oque eu estou dizendo, e oque eu estou tentando fazer.
valeu mesmo
abrasss



Postagens
Não informado
