com esse tutorial eu consegui fazer com que ao Clicar em estado....o 'cidade' atualiza automaticamente com as cidades cadastrada no db....entendem?
isso eu consegui de boa
agora q vem meu problema
na hora de editar
eu chamo asism
edit.php?id=tal
dai o menu select ESTADO, já vem selecionado de acordo com o ID
mas o menu select CIDADE não vem...
como faço para colocar o 'selected' antes do value?
o codigo é esse
<script language="javascript">
function confirmaExclusao(aURL) {
if(confirm('Você tem certeza que deseja excluir este registro?')) {
location.href = aURL;
}
}
function list_dados(valor)
{
// Passando os dados para a página result.php através do método GET.
http.open("GET", "franquias/cidade.php?estado=" + valor, true);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}
function handleHttpResponse()
{
campo_select = document.forms[0].cidade;
if (http.readyState == 4) {
campo_select.options.length = 0;
results = http.responseText.split(",");
for (var i = 1; i < results.length; i++) {
string = results[i].split("|");
campo_select.options[i] = new Option(string[0], string[1]);
}
}
}
// Essa função é somente para identificar o Navegador e suporte ao XMLHttpRequest.
function getHTTPObject()
{
var req;
try {
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
if (req.readyState == null) {
req.readyState = 1;
req.addEventListener("load", function() {
req.readyState = 4;
if (typeof req.onReadyStateChange == "function") {
req.onReadyStateChange();
}
}, false);
}
return req;
}
if (window.ActiveXObject) {
var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
for (var i = 0; i < prefixes.length; i++) {
try {
req = new ActiveXObject(prefixes[i] + ".XmlHttp");
return req;
} catch (ex) {};
}
}
} catch (ex) {}
alert("XmlHttp Objects not supported by client browser");
}
var http = getHTTPObject();
// Logo após fazer a verificação, é chamada a função e passada
// o valor à variável global http.
</script>
pagina...cidade.php
<?php
header("Content-Type: text/html; charset=iso-8859-1");
include"../../includes/config.php";
$linha = "";
// Guardando o id passado pelo form select
// Trim remove os espaços no inicio e final
// addslashes Retorna uma string com barras invertidas antes de caracteres
// que precisam ser escapados para serem escapados em query a banco de dados
$estado = addslashes(trim($_GET["estado"]));
// Fazendo nosso selec para todas subcategorias que pertencem à categoria presente
// na variavel $categoria acima
$consulta = mysql_query("SELECT * FROM cidades WHERE estado = '$estado' ORDER BY nome ASC" );
while( $row = mysql_fetch_assoc($consulta) ){
// subcategoria será apresentada da forma "NOME|CODIGO,..."
// Maneira a ser tratada no JavaScript
// Vale lembrar que estamos contatenando o "nome" com a "|" com o "codigo" e com a ","
$linha .= $row["nome"] . "|" . $row["nome"] . ",";
}
$count = mysql_num_rows($consulta);
if ($count == 0){
echo"nada cadastrado";
}
//Retira a última vírgula para não vir registro em branco.
$linha = substr($linha,0,(strlen($linha)-1));
echo $linha;
?>
porque isso?? porque quando clicar em editar...e chamar a pagina editar.php?id=tal...vou ter q editar o menu select cidade...entendem?
Pergunta
cwarez
galera...
estou seguindo esse tutorial
http://phpbrasil.com/artigo/eG8kaIH26urE/2...dos-sem-refresh
são dois menus selects
um Estado...e um Cidade
com esse tutorial eu consegui fazer com que ao Clicar em estado....o 'cidade' atualiza automaticamente com as cidades cadastrada no db....entendem?
isso eu consegui de boa
agora q vem meu problema
na hora de editar
eu chamo asism
edit.php?id=tal
dai o menu select ESTADO, já vem selecionado de acordo com o ID
mas o menu select CIDADE não vem...
como faço para colocar o 'selected' antes do value?
o codigo é esse
pagina...cidade.phpporque isso?? porque quando clicar em editar...e chamar a pagina editar.php?id=tal...vou ter q editar o menu select cidade...entendem?
ajudem ae
vlww
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.