我将 CakePHP 用于一个小型 Web 应用程序,在一个表单页面上有一个下拉菜单可以选择工作编号。我想根据使用 jQuery 在下拉列表中选择的工作编号更新两个文本字段(我也愿意使用默认的 ajax 帮助程序,但我没有取得很大的成功)。
这是我的 jQuery 片段:
<script>
$(document).ready(function() {
$('#job_id').change(function() {
$.post('/surveys/jobdetails', {id: $(this).attr('id')});
})
.change();
});
</script>
jobdetails
是我的控制器中的一个方法,它根据传入的作业 ID 获取当前作业。但是,当下拉列表更改值时,它不会被调用。我尝试用 alert 函数代替 .post 并且效果很好,因此 onchange 被正确调用。
这是<div>
我要更新的内容:
echo "<div id='job_details'>";
echo $form->label('jobtitle', 'Job Title');
echo "<input type='text' name='jobtitle' id='jobtitle'>";
echo $form->label('department', 'Department');
echo "<input type='text' name='department' id='department'>";
echo "</div>";
我想将每个文本字段的值设置为从 ajax 调用返回的作业的相应值。有很多非常好的 jQuery 和 CakePHP 文档,但我还没有找到完全涵盖我正在尝试做的事情的任何内容。谁能看到我做错了什么?有没有更好的方法来使用 ajax 用 CakePHP 更新 div?