Javascript jquery/ajax-.保持相同jquery的负载
基本上 我想做的是有一个按钮,当你点击时,它会加载另一个.html表单 它有一个指向下一个.html页面的按钮,依此类推 第一部分可以工作,但是,对于要加载的表单,当加载下一个表单时,jquery对按钮不起作用。。例如: index1.html:Javascript jquery/ajax-.保持相同jquery的负载,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,基本上 我想做的是有一个按钮,当你点击时,它会加载另一个.html表单 它有一个指向下一个.html页面的按钮,依此类推 第一部分可以工作,但是,对于要加载的表单,当加载下一个表单时,jquery对按钮不起作用。。例如: index1.html: <button id="LoadForm" value="form1.html">Load the form</button> $(document).ready(function() { function foo(x
<button id="LoadForm" value="form1.html">Load the form</button>
$(document).ready(function() {
function foo(x) {
$('.content').load(x);
}
$('#LoadForm').click(function() {
var ele = $(this).attr("value");
$(this).hide();
form(ele);
});
});
加载表单
$(文档).ready(函数(){
函数foo(x){
$('.content').load(x);
}
$('#LoadForm')。单击(函数(){
var ele=$(this.attr(“值”);
$(this.hide();
表格(ele);
});
});
在form1.html中:
转到表单2..
我哪里出错了?1)在同一页上不能有重复的ID,因此。内容必须包含原始的#LoadForm
按钮(我想是这样)和
2)您需要为动态添加的元素使用委托事件处理程序:
$(document).ready(function() {
function foo(x) {
$('.content').load(x);
}
$(document).on('click', '#LoadForm', function() {
var ele = $(this).attr("value");
$(this).hide();
form(ele); // This should be foo in your example :)
});
});
这是通过侦听指向未更改的祖先的单击事件来实现的(文档
是“没有更接近的东西”的最佳默认设置。切勿使用'body'
,因为它与样式设置有关)。然后应用jQuery过滤器。然后,它将为生成事件的任何选定元素应用提供的函数
和3)您的示例中有foo
和form
。请更正代码:)这仍然不起作用。它加载第一个表单,但在第二个页面中没有触发任何内容。它应该可以工作(使用此代码100次),但您没有显示整个页面,因此可能会出现其他问题。你能显示整个页面吗?@Rory McCrossan:看起来他们有多个问题(至少3个),因此仅为授权标记为重复可能不合适。我们需要看完整的页面。谢谢:)如果你指的是重复的ID,我不认为这是一个问题,因为每个load
@Rory McCrossan上的按钮都被替换了。这是一个假设(我也做了,他们也隐藏了原来的按钮???,而且他们错误地命名了函数(打字?),然而,标准的委托修复显然不适用于他们。需要看完整的页面。好的,我会重新打开,因为你正试图通过它来引导OP。@Rory McCrossan:干杯。我喜欢整理未知的东西