Проблема при создании контента через Jquery


у Меня есть проблема, что в зависимости от текста, выбранного в первом поле он не загружает лет, связанные с ним в базе данных. Только тогда, когда текст загружается в первый корпус не имеет места jquery работает.

*Следующий файл с флажками "gera_html.php"*

<html>
<head>
<title>Gerador Planos de Ensino</title>
<link rel="stylesheet" media="screen" href="./css/styles.css" > 
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="./js/ver_selects.js" type="text/javascript">
</script>
<script type="text/javascript">
    $(document).ready(function(){

        $('#departamentos').change(function(){
            $('#anos').load('anos.php?departamentos='+$('#departamentos').val() );

        });
    });
</script>   
</head>
<?php

  include "valida_cookies.inc";
  require("connect.php");

?>
<body>
<form class="cad_admin" method="GET" action="anos.php" autocomplete="on" >
<ul>
<h2>Gerador Planos de Ensino</h2>
<li>
<li><label>Escolha um Departamento</label>
<select name="departamentos"  id="departamentos" >
<?php
require("connect.php");
$depto_result=mysql_query("SELECT DISTINCT DepartamentoDoResponsavel FROM  responsavel ORDER BY    DepartamentoDoResponsavel ASC");
echo "<option value='00'>".'Escolha um departamento'."</option>";
while($row = mysql_fetch_array($depto_result)){
echo "<option>".$row['DepartamentoDoResponsavel']."</option>";
}
mysql_close();
?>
</select></li>      

</select></li>      
<li><label>Ano</label>
<select name="anos" id="anos">
    <option value="00">Escolha um Ano</option>
</select></li>
<li>
 <button class="submit" type="submit">Gerar</button>
</li>
</li>
</ul>
</form>
</body>
</html>

И здесь лет.php вызывается в jquery -

$departamento = $_GET['departamentos'];
echo $departamento;
require('connect.php');

     $sql = "SELECT DISTINCT AnoDeAplicacao FROM planodeensino 
    WHERE planodeensino.DepartamentoPorExtenso = '$departamento'";

$result = mysql_query($sql);
echo "<option value='0'>".'Escolha um Ano'."</option>";

while($linha = mysql_fetch_array($result) ){
    echo "<option>".$linha['AnoDeAplicacao']."</option>";
}
mysql_close();

?>
 3
Author: user4725, 2014-02-05

2 answers

Я Думаю, что метод param jQuery поможет: http://api.jquery.com/jQuery.param/

Попробуйте изменить строку, которая вызывает load jQuery позволяя ей таким образом:

$('#anos').load('anos.php?' + $.param({ departamentos: $('#departamentos').val() }) );

Еще одна вещь: ее применение, используя ISO-8859-1, только что Ajax является UTF-8. Чтобы решить эту проблему, измените первую строку сценария "лет."php":

$departamento = utf8_decode($_GET['departamentos']);
 1
Author: J. Bruni, 2014-02-05 21:26:26

В свой запрос попробуйте использовать LIKE %%envés сравнения, как я понимаю, я верю, что решайте:

"SELECT DISTINCT AnoDeAplicacao FROM planodeensino WHERE planodeensino.DepartamentoPorExtenso LIKE %$departamento%"
 0
Author: Diego Lopes Lima, 2014-02-05 19:52:25