私は小さな Web アプリに CakePHP を使用しており、1 つのフォーム ページにジョブ番号を選択するためのドロップダウンがあります。jQuery を使用して、ドロップダウンで選択したジョブ番号に基づいて 2 つのテキスト フィールドを更新したいと思います (デフォルトの ajax ヘルパーを使用することもできますが、あまり成功しませんでした)。
これが私のjQueryスニペットです:
<script>
$(document).ready(function() {
$('#job_id').change(function() {
$.post('/surveys/jobdetails', {id: $(this).attr('id')});
})
.change();
});
</script>
jobdetails
渡されたジョブIDに基づいて現在のジョブを取得するコントローラーのメソッドです。ただし、ドロップダウンの値が変更されたときに呼び出されません。.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 のドキュメントがたくさんありますが、私がやろうとしていることを完全にカバーしているものは見つかりませんでした。誰かが私が間違っていることを見ることができますか? CakePHPでdivを更新するためにajaxを使用するより良い方法はありますか?