我使用下拉菜单,用户可以选择特定的主题。如果通过下拉菜单选择主题,则通过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()'函数内调用它,这是在页面加载时执行。 –