我目前正在页面的许多部分使用非常类似的AJAX帖子请求:
$(document).ready(function() {
$("#name").change(function(e){
var vname = $("#name").val();
$.post("addit.php", {name:vname}, function(response, status) {
$("#table").html(response);
});
});
});
以上代码完美无缺。
我在使用动态加载的内容获取任何功能时遇到问题。因此,例如,一个由AJAX调用抓取的表单并放入我的页面,上面的内容不起作用。
如果我们可以假装我正在运行与上面相同的AJAX调用,而是使用AJAX从PHP脚本中动态加载内容。我的电话会是什么样的。 #table是一个始终出现在页面上的静态元素。
我试过这个,但它不起作用:
$(document).ready(function() {
$("#table").on("click", "#btn1", function(e){
e.preventDefault();
var vname = $("#name").val();
$.post("addit.php", {name:vname}, function(response, status) {
$("#table").html(response);
});
});
});
目前我在控制台上没有显示任何内容,但它无法正常工作。
我在这里做的是正确的吗?
html看起来像这样:来自php:
<table id='table'>//this is the static element form is echoed
<form method='post'>
<input id='name' name = 'name'>
<button id='btn1' type='submit'>Add me</button>
</form>
</table>
我已经更改了我的代码,只需点击按钮而不是更改。
答案 0 :(得分:0)
尝试使用以下
更新代码$(document).ready(function() {
$("#table #btn1").on("click", function(e){
e.preventDefault();
var vname = $("#name").val();
$.post("addit.php", {name:vname}, function(response, status) {
$("#table").html(response);
});
});
});
当文档
中没有元素时,无法在动态添加的元素上设置函数如果可能的话,而不是<table>
使用<div>
答案 1 :(得分:-1)
我认为你的问题是你错过了
$( document ).ajaxComplete(function() { "script here will run and be available after ajax load" });