我的页面中有一个输入,当我输入任何名称时,它与ajax链接,它在我的数据库中搜索该名称并以html格式返回结果所有输入的值都是数据库格式,我放置的形式提交按钮无效。
我的代码: 的 HTML
<div class="well">
<input type="text" name="promote_student_txt" id="promote_student_txt" />
<div id="rr2"></div>
</div>
AJAX
$('#promote_student_txt').keyup(function(){
var email = $('#promote_student_txt').val();
$.post('includes/promote_student_search.php',{e:email},function(data){
$('#rr2').html(data);
});
});
PHP PAGE
<td>
$id="FROM DATABASE";
$class="FROM DATABASE";
$section="FROM DATABASE";
<form method='get' action='new.php'>
<input type='hidden' name='student_id' value='$id' />
<input type='hidden' name='old_class' value='$class' />
<input type='hidden' name='old_section' value='$section'/>
<input type='submit' name='promote_single'/>
</form>
</td>
答案 0 :(得分:3)
jQuery在运行时只知道页面中的元素,因此添加到DOM的新元素无法被jQuery识别。要解决这个问题,请使用event delegation,将新添加的项目中的事件冒泡到DOM中的一个点,当jQuery在页面加载时运行时。许多人使用document
作为捕获起泡事件的地方,但没有必要一直向上移动DOM树。理想情况下you should delegate to the nearest parent existing at the time of page load.