【发布时间】:2019-09-12 22:42:09
【问题描述】:
我在 JavaScript 中创建了一个包含 7 个类别的手风琴,我还从共享点列表中提取数据并按类别过滤项目。在按类别过滤项目并将其附加到其各自的类别面板后,我想创建 4 列以及从列表中提取的项目所需的任何行。附上所需的最终结果。
附上所需的最终结果。 Accordion Desired Result
$(document).ready(function () {
$.ajax({
url: "http://bc-net/_api/web/lists/GetByTitle('specialDiscounts')/items",
method: 'GET',
headers: {
'Accept': 'application/json; odata=verbose'
},
success: function (data) {
var items = data.d.results;
console.log(items);
var auto = $('#automotive');
var entertainment = $('#entertainment');
var healthBeauty = $('#healthBeauty');
var travel = $('#travel');
var electronics= $('#electronics');
var services= $('#services');
var housing= $('#housing');
for (var j = 0; j < items.length; j++) {
var panelsContent ='<div class="row animated fadeInUp">' +
'<div class="col-md-4">' +
'<div class="card-body card-body-cascade text-center">' +
'<a href=" ' + items[j].Link.Url + '" target = _blank> <h4 class="card-title my-4"><strong>' + items[j].Title +
'</strong></h4></a><p class="card-text">' + items[j].Description + '</p>'
// branching logic,
// append the <p> in different places based on
// different possible Category values
switch (items[j].Category) {
case 'Automotive':
auto.append(panelsContent);
break;
case 'Entertainment':
entertainment.append(panelsContent);
break;
case 'Health and Beauty':
healthBeauty.append(panelsContent);
break;
case 'Travel':
travel.append(panelsContent);
break;
case 'Electronics':
electronics.append(panelsContent);
break;
case 'Services':
services.append(panelsContent);
break;
case 'Housing':
housing.append(panelsContent);
break;
default:
break;
}
}
},
error: function (data) {
alert('Error: ' + data);
}
}) // End Service Icons //End Service Icons
}) // End ready function
这是一段 HTML
<div id="housing" class="accordion-content list-reset leading-normal px-8 py-4 hidden">
<!--Services Content Injected-->
</div>
这就是我得到的 This is what I am getting
【问题讨论】:
-
我假设您正在使用引导程序,有 col-md-4 的证据。基于引导程序的有限知识,但看到这个bootstrap grid examples,您实际上是否应该使用 col-md-3 并且每行中有 4 个?似乎你得到的是每行一个 col-md-4,基本上是 1/3 宽度。
-
这是一个 jsfiddle。确保调整输出屏幕的大小以查看 col 类生效。 https://jsfiddle.net/q31fd4nj/1/
-
@sourkrause 我在控制台上得到的是 4 行,即使我更改了你提到的引导类,所以我相信问题出在循环上。
标签: javascript jquery multiple-columns rows