当我在 symfony 1.4 中使用 ajax 时,我遇到了一个非常奇怪的问题。我使用了 jobeet 示例(第 18 天),但它不起作用
这是我的 indexSuccess.php
<script type="text/javascript" >
$(document).ready(function(){
$('#buscador').keyup(function(key)
{
if (this.value.length >= 3 || this.value == '')
{
$('#per').load( $(this).parents('form').attr('action'),
{ query: this.value + '*' });
}
});
});
</script>
<h1>Lista de personas</h1>
<p>Busque o cree registros de personas en el sistema (Estudiantes, funcionarios, docentes).</p>
<form action="<?php echo url_for('personas/index')?>">
<table>
<tr>
<td><input type="text" name="buscar" id="buscador"/></td>
<td><a href="<?php echo url_for('personas/index')?>"><img src="/images/iconos/Search.png"/></a></td>
</tr>
</table>
</form>
<p style="font-size: 11px;color: gray;">Digite un nombre, apellido o número de identificación para buscar</p>
<div class="per" id="per">
<?php echo include_partial('personas/buscaPersonas',array('personass'=>$personass)); ?>
</div>
jquery 脚本检测输入中的字符,当我写 3 个或更多字符时,它应该加载 id='per' 的 div。这是我的personasAction.class.php
public function executeIndex(sfWebRequest $request)
{
$this->personass = array();
if($request->isXmlHttpRequest())
{
$this->personass = $this->getRoute()->getObjects();
return $this->renderPartial('personas/buscaPersonas', array('personass'=> $personass));
}
}
当我加载页面时,我不想看到任何结果。因此,当我进行 ajax 调用时,我应该重新加载包含所有结果的部分“_buscaPersonas.php”(仅供尝试),但我加载了 _form.php 部分。
这是我的部分:
<table>
<?php foreach($personass as $personas): ?>
<tr>
<td colspan="5" class="tituloTD"><?php echo $personas->getNombre(); ?></td>
</tr>
<tr>
<th>Numero identificación: </th><td><?php echo $personas->getNumeroid() ?></td>
<th>Email: </th><td><?php echo $personas->getEmail(); ?></td>
<td><a href="<?php echo url_for('personas/edit?id='.$personas->getId()) ?>"> <img src="/images/iconos/editar.png"/></a></td>
</tr>
<?php endforeach; ?>
</table>
我试图找出问题出在哪里,但我不明白。当我使用该按钮进行正常搜索时,它可以工作,加载正确的部分,但 ajax 加载其他部分。
请有人知道我的错误是什么。
谢谢