ajax를 이용해 반복적인 작업을 하고싶습니다. 채택완료
루벤
5년 전
조회 2,887
</p>
<p><ul id="list">
<li data-id="1"><span id="number"></span>번게시물 : <div id="data-area"></div></li>
<li id="list" data-id="2"><span id="number"></span>번게시물 : <div id="data-area"></div></li>
<li id="list" data-id="3"><span id="number"></span>번게시물 : <div id="data-area"></div></li>
</ul></p>
<p>
<script src="<a href="http://code.jquery.com/jquery-1.11.2.min.js"></script>" target="_blank" rel="noopener noreferrer">http://code.jquery.com/jquery-1.11.2.min.js"></script></a>
<script>
$("#list li").each(function() {
var articleNum = $(this).attr('data-id');
$.ajax({
url : 'myurl' + articleNum,
dataType: 'json',
success: function(data) {
var value1 = data.data.value;
var num = data.data.no;
$(this).children("#number").append(num);
$(this).children("#data-area").append(vlue1);
}
});
});
</script></p>
<p>
위 소스처럼 li의 data-id값으로 ajax를 이용해 반복적으로 해당 값을 가져와서 출력하고싶은데요,
하나의 소스로는 가능한데 반복적으로 출력하는 걸 모르겠네요..
어떻게하면 각 li의 data-id값으로 각각 ajax를 실행시켜 해당 li내에 있는 div나 span영역에 값을 가져올 수 있을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
5년 전
id="number" --> class="number"
id="data-area" --> class="data-area" :::: class로 변경, 이름이 같은 id가 1개 이상 있어서는 안됨
li에도 id를 같은 이름으로 붙여놓았네요
$("#list li").each(function(index) { <----- index추가
아래처럼 변경
$(".number").eq(index).append(num);
$(".data-area").eq(index).append(value1); ::: 이곳에 $(this)를 놓으면 #list li가 아님
alert( $(this).attr('data-id') ) 를 이 위치에 넣어보면 값이 나오지않는 다는 것을 알 수 있을겁니다
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
루벤
5년 전
정말 감사합니다. 잘되네요! 연휴에 답변 달아주셔서 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인