使用jQuery使用append函数动态加载html表单。这里,以下代码根据while循环的值的次数动态加载页面内容。
这里我很难用不同的值加载内容。在var load_with_value = 0上使用单个值0或1;但不要同时在两者上,即递增load_with_value ++以再次加载HTML表单的页面内容。
$(document).ready(function(e) {
$("<DIV>").load("<?php echo $url; ?>", function() //url for loading page
{
var n = $('.item').length + 1; //load the html page content
var i = 1; //iteration for number of times load the content
var count = 2; //check the condition
var load_with_value = 0; //load the page content with different values for display different values on html form
while(i<count) { //loop starts
$("#product").append($(this).html());
i++;
load_with_value++;
}
});
});
答案 0 :(得分:2)
首先,让我们做一些正确的代码格式化并删除不正确的评论:
$(document).ready(function(e) {
$("<DIV>").load("<?php echo $url; ?>", function() {
var n = $('.item').length + 1;
var i = 1;
var count = 2;
var load_with_value = 0;
while(i<count) {
$("#product").append($(this).html());
i++;
load_with_value++;
}
});
});
现在让我们把它拆开:
如果要使用临时元素来存储加载的数据,则需要将其分配给变量,因此不是
$("<DIV>").load("<?php echo $url; ?>", function() {
做
var tempObject = $("<div/>").load("<?php echo $url; ?>", function() {
之后,您可以将临时元素附加到$('#someExistingElement').append(tempObject)
的现有元素。
如果要将内容加载到现有元素中,您应该使用它的ID,类或其他选择器来执行此操作 - 而不是$("<div>")
..如果要将其加载到所有div元素(请不要)然后它应该是$("div")
。
下一个var n = $('.item').length + 1;
毫无意义。它从未在代码中使用过。
虽然这种情况下的循环是不必要的。如果你不必要的话,不要在周期中使用。您可以使用:
for(var i=0; i<count; i++){
//code
}
var load_with_value = 0;
用于什么?我只能看到你用load_with_value++;
递增它,但你不能在任何地方使用它..
最后,如果你想根据递增的变量加载不同的内容,它应该在.load
函数之外完成。例如
$(document).ready(function(){
for(var i=0; i<5; i++){
$('#container-' + i).load('/somecontent-' + i + '.html');
}
});
这会将内容/somecontent-0.html
加载到/somecontent-4.html
,分别加载到ID为container-0
到container-4
的容器元素中。