<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개
var tuid = $(this).attr('data-idx');
tuid의 값이 123 이 있을거라 예상됩니다. 루프를 두번돌기때문에 123,123이 되는거구요.
그리고 ajax 통신 후에 for 문을 두번 돌리시는데 for (i=0;i<2;i++) 이것과 tuid는 어떤연관이있는지요? 무조건 두번을 돌려야 하는건가요?
ajax통신후 리턴받은 data로 루프를 돌리셔야 그값에 따라서 쉼표로 붙습니다.
저렇게 하시면 값이 길던 짧던 두개만붙어요^^;
좀더 자세한 정보를 주시면 자세한 답변이 갑니다.
답변에 대한 댓글 1개
$(".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개
ajax success 했을때
tuid값을
<input type="hidden" name="aa" value="">
value값에다가 클릭한 tuid값을 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 라고 나옵니다.
근데 체크되거나 클릭한 값만 가져오게 하려면 셀렉터를 수정해야합니다.;;
어찌되었든 여러개를 선택하고 선택한 값을 따로 저장하든 체크 박스를 이용하든 화면단에서도 값을 유지 해야합니다.
어떤식으로 구현되어있는지에 따라서 선택된 값을 가져오는게 달라지겠죠~
정보가 없어서 답변이 어렵네요~ㅎㅎ
test.php 파일의 내용이 문제일 수 도 있을 것 같은데..
해당 파일의 내용도 같이 올려주시면 답변에 더 도움이 되지 않을까 합니다.
답변을 작성하려면 로그인이 필요합니다.
홍길동 = 123;
박지성 = 456;
tuid값이 홍길동은 123; 박지성은 456; 이라고할때
홍길동이랑 박지성을 ajax태워서
ajax success하면
<input type="hidden" name="aa" value="123,456">
이런식으로 value에 넣고싶어요.