我有json数据 我已经把第一组数据写入了一个ul。 我想将剩余的数据分成2个相同的块并写入其他两个uls。将json数据拆分为3个列表 - jquery/javascript
如何在初始索引== 0之后分割剩余的json?
我js代码:
$("#storeList").append('<ul class="storeListLeft"></ul>');
$("#storeList").append('<ul class="storeListRight"></ul>');
//run store json data and append to storeList div
var object;
$.getJSON('xml/storeList.json', function(json) {
object = json;
$.each(object.storeList.state, function(index, value) {
var list;
if(index == 0) {
list = $('.storeListLeft');
} else {
list = $('.storeListRight');
}
listItem = $('<li/>'),
html = listItem.append($('<h3/>').text(this.stateName));
$.each(this.store, function() {
listItem.append($('<a />').attr('href', this.storeURL).attr('class', 'storeInactive').attr('id', this.storeID).text(this.storeName));
});
list.append(html)
});
}); //end json render
电流输出:
<ul class="storeListLeft">
<li>
<h3>state Name</h3>
<a>store Name</a>
</li>
</ul>
<ul class="storeListRight">
<li>
<h3>state Name</h3>
<a>store Name</a>
<a>store Name</a>
<a>store Name</a>
</li>
<li>
<h3>state Name</h3>
<a>store Name</a>
</li>
</ul>
我的期望的输出是到所述第一项仍然分配给该storeListLeft,然后分割剩余的数据和分配组块,以2分开uls
所以这样的事情:
<ul class="storeList_1"> //which is index == 0
<li>
<h3>state Name</h3>
<a>store Name</a>
</li>
</ul>
<ul class="storeList_2"> //2 & 3 are the split of the remainder after index == 0
<li>
<h3>state Name</h3>
<a>store Name</a>
<a>store Name</a>
<a>store Name</a>
</li>
<li>
<h3>state Name</h3>
<a>store Name</a>
</li>
</ul>
<ul class="storeList_3">
<li>
<h3>state Name</h3>
<a>store Name</a>
<a>store Name</a>
<a>store Name</a>
</li>
<li>
<h3>state Name</h3>
<a>store Name</a>
</li>
</ul>
你的名单是什么样的? – Pierre
你能提供更多的细节吗? – Craig
如果你真的只是想把列表分成两列,你能不能把数组分割成两个列表,然后调用你的函数来完成每个列表上的工作,而不是在函数内做出分割决定? – Craig