jquery 一个文件只加载一次
jquery load() only once for one file
$("#documentProperties"+id).load("doctypes/"+selval+".jsp");
此处 selval 是下拉选项的值。下拉选项和我正在加载的 jsp
有相同的名字。这样我就可以使用 jquery 的 load() 将 jsp 文件加载到 div.
这里的问题是有多个 div 动态生成,名称为 documentProperties 和
为 id 唯一性附加的数字。我只需要加载一次 jsp,如果已经加载了一个 jsp
进入 div 不要加载它,显示任何警告错误,说明此文档已加载。
这是一个简单的解决方案,但如果您的 div 包含某些内容(即使它不是 jsp),这将不起作用
if($("#documentProperties"+id).html() == "")
$("#documentProperties"+id).load("doctypes/"+selval+".jsp");
else alert("Error");
您可以使用 $.get 并检查 div 的内容是否不等于结果
$.get( "doctypes/"+selval+".jsp", function( data ) {
if($("#documentProperties"+id).html() != data)
$("#documentProperties"+id).html(data);
else alert("Error");
});
添加一个class怎么样:
$("#documentProperties"+id + ":not(.loaded)").load("doctypes/"+selval+".jsp", function(){
$(this).addClass('loaded');
});
编辑:
var jspLoaded = [];
之后:
if (jspLoaded.indexOf(selval) === -1) {
$("#documentProperties" + id).load("doctypes/" + selval + ".jsp", function() {
jspLoaded.push(selval);
});
}
$("#documentProperties"+id).load("doctypes/"+selval+".jsp");
此处 selval 是下拉选项的值。下拉选项和我正在加载的 jsp 有相同的名字。这样我就可以使用 jquery 的 load() 将 jsp 文件加载到 div.
这里的问题是有多个 div 动态生成,名称为 documentProperties 和 为 id 唯一性附加的数字。我只需要加载一次 jsp,如果已经加载了一个 jsp 进入 div 不要加载它,显示任何警告错误,说明此文档已加载。
这是一个简单的解决方案,但如果您的 div 包含某些内容(即使它不是 jsp),这将不起作用
if($("#documentProperties"+id).html() == "")
$("#documentProperties"+id).load("doctypes/"+selval+".jsp");
else alert("Error");
您可以使用 $.get 并检查 div 的内容是否不等于结果
$.get( "doctypes/"+selval+".jsp", function( data ) {
if($("#documentProperties"+id).html() != data)
$("#documentProperties"+id).html(data);
else alert("Error");
});
添加一个class怎么样:
$("#documentProperties"+id + ":not(.loaded)").load("doctypes/"+selval+".jsp", function(){
$(this).addClass('loaded');
});
编辑:
var jspLoaded = [];
之后:
if (jspLoaded.indexOf(selval) === -1) {
$("#documentProperties" + id).load("doctypes/" + selval + ".jsp", function() {
jspLoaded.push(selval);
});
}