Copy
<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개 / 댓글 5개
채택된 답변
+20 포인트
var tuid = $(this).attr('data-idx');
tuid의 값이 123 이 있을거라 예상됩니다. 루프를 두번돌기때문에 123,123이 되는거구요.
그리고 ajax 통신 후에 for 문을 두번 돌리시는데 for (i=0;i<2;i++) 이것과 tuid는 어떤연관이있는지요? 무조건 두번을 돌려야 하는건가요?
ajax통신후 리턴받은 data로 루프를 돌리셔야 그값에 따라서 쉼표로 붙습니다.
저렇게 하시면 값이 길던 짧던 두개만붙어요^^;
좀더 자세한 정보를 주시면 자세한 답변이 갑니다.
$(".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로 서버에 넘기게 되며 그후에 서버에서 홍길동 박지성 값을 넘겨서 처리하는 방식이 일반적이지요.
답변에 대한 댓글 4개
지금은 tuid 값 자체를 잘못가져오시는것같아서 위에 가이드를 한거에요
값 셋팅 자체는 $('input[name=aa]').val(tuid) 로 하면 되구요.
모든 zz 클래스의 attr('data-idx') 값을 가져오려면 이렇게 하면되요.
$('.zz').map(function(){return $(this).attr('data-idx')}).get().join(",")
위와같이하면 123,456,789 라고 나옵니다.
근데 체크되거나 클릭한 값만 가져오게 하려면 셀렉터를 수정해야합니다.;;
값 셋팅 자체는 $('input[name=aa]').val(tuid) 로 하면 되구요.
모든 zz 클래스의 attr('data-idx') 값을 가져오려면 이렇게 하면되요.
$('.zz').map(function(){return $(this).attr('data-idx')}).get().join(",")
위와같이하면 123,456,789 라고 나옵니다.
근데 체크되거나 클릭한 값만 가져오게 하려면 셀렉터를 수정해야합니다.;;
답변을 작성하려면 로그인이 필요합니다.
홍길동 = 123;
박지성 = 456;
tuid값이 홍길동은 123; 박지성은 456; 이라고할때
홍길동이랑 박지성을 ajax태워서
ajax success하면
<input type="hidden" name="aa" value="123,456">
이런식으로 value에 넣고싶어요.