div에 중첩 된 6 개의 목록 항목을 ul 내에 표시 할 수없는 문제가 있습니다.Jquery를 사용하여 각 루프에서 JSON 객체에서 가져온 div 안에 ul 당 6 개의 목록 항목을 표시합니다.
$(function proName(){
$.getJSON("pros", function(data) {
/* Parse JSON objects */
jJSON["pro_name"] = (function() {
//response = {
//values: [],
//count: 0
//};
var $listReference;
var $listDiv;
var proNameLink;
$.each(data, function(i,item){
if (item.pro_name != "undefined") {
if (i == 0 || i % 6 == 0) {
//response.count++;
//response.values[i] = item.pro_name;
var proName = item.pro_name;
var addProName = proName + ", ";
/* append li to ul block */
proNameLink = $('<li><a class="pro-name-link'+i+'" href="#">'+proName+'</a></li>');
$listDiv = $('<div id="scroll_controls" class="hasImage"></div>');
$listReference = $('<ul id="pro-name-results"></ul>');
$("#ajax-returned-content").append($listDiv);
$("#scroll_controls").append($listReference);
};
$("#pro-name-results").append(proNameLink);
/* disable link after click */
proNameLink.bind("click", function() {
$('.pro-name-link'+i+'').removeAttr('href');
$('.pro-name-link'+i+'').css('color', '#ffffff');
$('.added-search-terms').append(addProName);
$('.pro-name-link'+i+'').unbind('click');
});
};
});
//return response;
})();
/* Return a number of values for a given object */
//alert(jJSON.getValues("pro_name",null));
});
});
var jJSON = {
getValues: function(obj,num) {
return jJSON[obj]["values"].slice(0,((num == null) ? jJSON[obj]["values"].length : num));
},
getCount: function(obj) {
return jJSON[obj]["count"];
}
};
그리고 내 HTML :
<body>
<div id="wn">
<div id="lyr" class="content"><span class="search-terms-title">Search Terms: <span class="added-search-terms"></span></span></div>
</div>
<div id="ajax-returned-content" class="ajax-search-content">
</div>
</body>
내가 기본적으로하고 싶은 것은 JSON 객체를 통해 루프는 각각의 새로 생성 된 UL에 대한 여섯 개 목록 항목을 넣어 다음은 내가 지금까지 무엇을 가지고 각 UL 블록이 6 개의 목록 항목을 가지며 새 DIV 내에 중첩 된 각 블록이 서로 옆에 플로트되도록 새로 만든 DIV 안에 해당 UL을 배치합니다. 최종 결과는 다음과 같이 보일 것입니다 : 등등
<div id="ajax-returned-content" class="ajax-search-content">
<div id="scroll_controls" class="hasImage">
<ul id="pro-name-results">
<li><a href="#" class="pro-name-link1">Jerry</a></li>
<li><a href="#" class="pro-name-link2">Henry</a></li>
<li><a href="#" class="pro-name-link3">Dolly</a></li>
<li><a href="#" class="pro-name-link4">Stephanie</a></li>
<li><a href="#" class="pro-name-link5">James</a></li>
<li><a href="#" class="pro-name-link6">Anderson</a></li>
</ul>
</div>
<div id="scroll_controls" class="hasImage">
<ul id="pro-name-results">
<li><a href="#" class="pro-name-link7">Andy</a></li>
<li><a href="#" class="pro-name-link8">Peter</a></li>
<li><a href="#" class="pro-name-link9">Sam</a></li>
<li><a href="#" class="pro-name-link10">Tony</a></li>
<li><a href="#" class="pro-name-link11">Ken</a></li>
<li><a href="#" class="pro-name-link12">Jun</a></li>
</ul>
</div>
</div>
와 .... 모든
은 $ .each 수 있음 (data.values, 기능 (전, 항목을 ... 또는 내가 응답 형식을 오해 –
내가하지 이후 장해야 해요 나는 jquery 세계에 다소 새로운 ...하지만 $ (각각 JSON 객체에서 가져온 모든 것을 반복하여 data, function (i, item)을 반복 할 것이라고 생각했다.) – loganlee
지금 당장은 각 루프 함수 모든 6 개 항목 중 첫 번째 항목 만 반환합니다 (여섯 개 항목 모두 포함하지는 않습니다). – loganlee