我正在尝试将卡一张一张对齐。我已经完成了下面的编码,不确定为什么我不能将它一个接一个地显示。
在这里,我尝试调用REST API,从REST API获得的结果是一个列表,我需要将该结果遍历for循环,然后以卡片形式显示获取的数据。请有人指导我,谢谢。.
client.js
$(document).ready(function() {
$.ajax({
url: "REST API CALL",
success: function(data){
data.forEach(function(a) {
var html = `
<div class="row">
<div class="">
<div class="card" style="width: 20rem; text-align:center;display:inline-block;">
<img class="imagee" src="im.png" alt="image" height="200" width="200" style="border-radius:.60rem;">
<div class="card-body">
${a[0]}|${a[4]}<br>
${a[7]}<br>
<i class="fa fa-car"></i>${a[9]}
<p class="card-text"></p>
</div>
</div>
</div>
</div>`
$('#msgs').append(`<div>${html}</div>`);
});
}
}).then(function(data) {
});
});
答案 0 :(得分:1)
更改下面的代码,并将<div class="row">
放在此函数之外,并将带有id="msgs"
的html项周围,因为div class row
必须围绕所有卡片元素
$(document).ready(function() {
$.ajax({
url: "REST API CALL",
success: function(data) {
data.forEach(function(a) {
var html = `
<div class="card col-4" style="text-align:center;">
<img class="imagee" src="im.png" alt="image" height="200" width="200" style="border-radius:.60rem;">
<div class="card-body">
${a[0]}|${a[4]}<br>
${a[7]}<br>
<i class="fa fa-car"></i>${a[9]}
<p class="card-text"></p>
</div>
</div>`;
$("#msgs").append(`<div>${html}</div>`);
});
}
}).then(function(data) {});
});
答案 1 :(得分:0)
您可以在类col-md-4
的div内的div中添加类row
$(document).ready(function() {
$.ajax({
url: "REST API CALL",
success: function(data){
data.forEach(function(a) {
var html = `
<div class="row">
<div class="">
<div class="card colo-md-4" style="width: 20rem; text-align:center;display:inline-block;">
<img class="imagee" src="im.png" alt="image" height="200" width="200" style="border-radius:.60rem;">
<div class="card-body">
${a[0]}|${a[4]}<br>
${a[7]}<br>
<i class="fa fa-car"></i>${a[9]}
<p class="card-text"></p>
</div>
</div>
</div>
</div>`
$('#msgs').append(`<div>${html}</div>`);
});
}
}).then(function(data) {
});
});
答案 2 :(得分:0)
forEach中的呈现逻辑需要更改。重复这些列,然后将所有列放入row
data.forEach(function(a) {
html += `
<div class="col-4">
<div class="card" style="width:20em;text-align:center;display:inline-block;">
<img class="imagee" src="//placehold.it/200" alt="image" height="200" width="200" style="border-radius:.60rem;">
<div class="card-body">
`+a[0]+`<br>
<i class="fa fa-car"></i>
<p class="card-text"></p>
</div>
</div>
</div>`;
});
$('#msgs').append(`<div class="row">`+html+`</div>`);
答案 3 :(得分:0)
谢谢大家指导我找到解决方案。这是我发现的一种解决方案,可以使用col-lg-3将卡水平对齐以进行循环。
var html = `
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<div class="col-lg-3" ng-app=""><br>
<div class="card" style="width:20em;text-align:center;"><br>
<img ng-if="'${a[2]}'=='null'" src="image" height="200" width="200" style="border-radius:.60rem;">
<div class="card-body">
${a[0]} | ${a[4]}<br>
${a[7]}<br></td>
<tr><td>
<i class="fa fa-bed"></i> ${a[1]}
</div>
</div><br>
</div>`
$('#msgs').append(`<div>${html}</div>`);
});