私はユーザーが特定の科目を選択できるドロップダウンメニューを使用します。サブジェクトがドロップダウンで選択されている場合は、ajaxを介してテキストボックスがポップアップ表示され、ユーザーは内容を入力できます。ページをリフレッシュした後のon.Change関数からのリロードAjaxコンテンツ
フォームが送信されてフォームの内容が失われた場合、またはユーザーが単にページを更新する場合、Ajaxコンテンツ(テキストボックス)は消えて、別のサブジェクトが選択されたときにのみ再び表示される。これはおそらくchange
を使用し、ドロップダウンが再び変更されたときにこれだけのdivにAJAX入力を置く私のAJAXのスクリプトから茎
:
$(function() {
$('#subjectapp1').change(function()
{
var self = $(this);
$.post("/blabla/potatoe/subjectpartial1.php",
{
subject1: self.val()
},
function(data)
{
$('#subjectqualidiv1').html(data);
});
});
});
私のドロップダウンメニュー:
<select name="subject1" id="subjectapp1">
<option value="">Please choose</option>
<?php foreach ($subjects as $subject){ ?>
<option <?php if ($_POST['subject1'] == $fach['subject_id']) {echo 'selected';} ?> value="<?php echo $subject['subject_id']; ?>"><?php echo $subject['subject']; ?></option>
:
のdivそれがにロードされます3210
<div id="subjectqualidiv1"></div>
ajaxコンテンツ(subjectpartial1.php
)には、ユーザーが自分の資格を入力できるテキストボックスが含まれています。
件名を再度変更することなくページを更新するときに、divに自動的にajaxコンテンツが読み込まれる可能性はありますか?
EDIT(WORKS):
$(document).ready(function() {
// For loading the ajax content on refresh/form submit
var subject1 = $('#subjectapp1');
$.post("/blabla/potatoe/subjectpartial1.php",
{
subject1: subject1.val()
},
function(data)
{
$('#subjectqualidiv1').html(data);
});
$('#subjectapp1').change(function()
{
var self = $(this);
$.post("/blabla/potatoe/subjectpartial1.php",
{
subject1: self.val()
},
function(data)
{
$('#subjectqualidiv1').html(data);
});
});
});
ありがとう:望ましい結果を得ている、私は次のことを試してみましたコメントに基づいて!
はい - あなたは、文書準備ハンドラ内で直接AJAXを置くことができます。また、変更イベントから呼び出すことができる必要があります。 –
'onchange'イベントの中であなたのコードをまだ呼び出せる間にこれを達成する最良の方法は、それを関数に入れて' $(document).ready() '関数の中から呼び出すことです。ページがロードされたときに実行されます。 –