此函数适用于在传递$_POST
变量的div内部加载外部页面,并在从查询中使用$_POST
变量加载相同外部页面时单击第一条记录。
$(document).ready(function(){
// load index page when the page loads
$("#form").load("tm-reserves-form.php");
$("#record").click(function(){
// load home page on click
var ContactID = document.getElementById('ContactID').value;
$("#form").load("tm-reserves-form.php", {"ContactID": ContactID});
});
});
什么不起作用这似乎只是传递第一个记录变量而没有其他变量。我可以点击第一条记录和带有数据加载的外部页面。我点击其他记录,div没有加载点击的新数据。我有一个页面,它从mysql查询创建一个客户列表,在记录循环内是一个带有主键的隐藏输入字段。对我失踪的任何想法?我想也许可以取消绑定点击,但这也不起作用。
HTML代码
<div id="record"><?php do { ?><input type="hidden" name="ContactID" id="ContactID" value="<?php echo $row_tm_reserves['ContactID']; ?>"><!-- Other strings --><?php } while ($row_tm_reserves = mysql_fetch_assoc($tm_reserves)); ?></div>
帮助!并提前致谢!
答案 0 :(得分:0)
这是event delegation
的问题,更改
$("#record").click(function(){
});
到
$(document).on("click","#record",function(){
});
主要确保您的网页中只有一个id
作为record
。
答案 1 :(得分:0)
你应该发布你的HTML代码,以帮助我们帮助你...... 如果添加了新的dom元素,那么附加操作的脚本将无法工作,因为它们在该脚本的加载时不存在。切换到:
let postView = storyboard!.instantiateViewControllerWithIdentifier("InfoPostView") as! InformationPostingViewController
presentViewController(postView, animated: true, completion: nil)
答案 2 :(得分:0)
问题是#form
内容在每个load
上被替换。
我的解决方案:
您可以在#form
中创建一个新元素,例如<p>
和append
,即:
$(document).ready(function(){
$("#form").load("tm-reserves-form.php");
$(document).on("click","#record",function(){
var ContactID = document.getElementById('ContactID').value;
$("#form").append($(document.createElement("p")).load("tm-reserves-form.php", {"ContactID": ContactID}));
});
});