我使用下拉菜單,用戶可以選擇特定的主題。如果通過下拉菜單選擇主題,則通過ajax彈出文本框,用戶可以輸入內容。刷新頁面後,從on.Change函數重新加載Ajax內容
問題是,如果表單已被提交,表單中的內容丟失或者用戶只是刷新頁面,則當選擇另一個主題時,ajax內容(文本框)會消失並且只會再次出現。
這大概是從我的AJAX腳本,它使用change
,因此只有當下拉再次改變提出了ajax輸入到DIV莖:
$(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 id="subjectqualidiv1"></div>
Ajax的內容(subjectpartial1.php
)只包含一個文本框,在其中用戶可以輸入自己的資格。
有沒有一種可能,當頁面刷新,而無需再次更改主題的AJAX內容自動加載到DIV?
EDIT(工程):基礎上的評論我嘗試以下,這將產生預期的結果:
$(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()'函數內調用它,這是在頁面加載時執行。 –