下面的代码非常适合在我的第一个文件中显示
$.ajax({
url : "http://localhost/website/files/userstuff/files/",
asynch : false,
cache : false,
success: function (data) {
$(data).find("a").each(function(i, el) {
var val = $(el).attr('href');
if (val.match(/\.(pdf|doc|docx|txt|html|js|css|rar|7zip)$/)) {
var fileslocation = ("http://localhost/website/files/userstuff/files/" + val)
var displayfilestable = ("<table><thead><tr><th>Files</th></tr></table>");
var adddata = ("<tr><td><a href='"+ fileslocation +"'target='_blank'>"+ val +"</td></tr>");
$("#filestable").html(displayfilestable)
$("filestable, table").append(adddata);
console.log(adddata)
}
});
}
});
这段代码将如您所想,拉取并显示表行中的文件,但是它仅对它找到的第一个文件执行此操作,我想知道这里是否有人可以帮助它显示表行中的所有文件表中的文件夹。提前致谢
最佳答案
你的代码运行得很好。问题是,在该循环(每个)中,您不断重新创建表。这就是为什么它只显示 1 条数据。根据您的代码检查我的示例。
HTML
<div>
<a href="sad1.pdf">sad1.pdf</a><br>
<a href="sad2.pdf">sad2.pdf</a><br>
<a href="sad3.pdf">sad3.pdf</a>
<div id="filestable"></div>
</div>
JavaScript
var displayfilestable = ("<table><thead><tr><th>Files</th></tr></table>");
$("#filestable").html(displayfilestable);
$("DIV").find("a").each(function(i, el) { // this is your data
var val = $(el).attr('href');
if (val.match(/\.(pdf|doc|docx|txt|html|js|css|rar|7zip)$/)) {
var fileslocation = ("http://localhost/website/files/userstuff/files/" + val)
var adddata = ("<tr><td><a href='"+ fileslocation +"'target='_blank'>"+ val +"</td></tr>");
$("filestable, table").append(adddata);
console.log(adddata)
}
});
这里还有 Jsfiddle :https://jsfiddle.net/synz/yrag1zpr/
关于javascript - 循环发布 ajax 结果,直到全部发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47626508/