ajax value값 쉼표로 구분해서넣기
본문
<script type="text/javascript">
$(".zz").click(function(){
var tuid = $(this).attr('data-idx');
var tdata = '';
$.ajax({
url: "/ajax/test.php",
type: "post",
dataType: "json",
data:{uid:tuid},
success: function(data){
for (i=0;i<2;i++)
{
tdata += tuid+",";
}
alert(tdata);
}
})
return false;
});
</script>
뭐가 잘못됬는지 모르겠습니다..
alert(tdata); 를 하면 예를들면 123,456 이런식으로 나와야하는데
123,123으로만 나와요..
답변 3
var
tuid = $(this).attr(
'data-idx'
);
tuid의 값이 123 이 있을거라 예상됩니다. 루프를 두번돌기때문에 123,123이 되는거구요.
그리고 ajax 통신 후에 for 문을 두번 돌리시는데 for
(i=0;i<2;i++) 이것과 tuid는 어떤연관이있는지요? 무조건 두번을 돌려야 하는건가요?
ajax통신후 리턴받은 data로 루프를 돌리셔야 그값에 따라서 쉼표로 붙습니다.
저렇게 하시면 값이 길던 짧던 두개만붙어요^^;
좀더 자세한 정보를 주시면 자세한 답변이 갑니다.
test.php 파일의 내용이 문제일 수 도 있을 것 같은데..
해당 파일의 내용도 같이 올려주시면 답변에 더 도움이 되지 않을까 합니다.
$(
".zz"
).click(
function
(){
var
tuid = $(this).attr(
'data-idx'
);
아실지 모르겠지만 .zz 클래스의 $(this).attr(
'data-idx'
) 의 값은
현재 클릭한 값 한가지만 가져오게 됩니다.;;
tuid에 여러 값을 쉼표로 가져오고 싶다면 아래와 같이 가져오세요.
$('.zz').map(function(){return $(this).attr('data-idx')}).get().join(",")
그래야 홍길동 박지성 값을 ajax로 서버에 넘기게 되며 그후에 서버에서 홍길동 박지성 값을 넘겨서 처리하는 방식이 일반적이지요.