해결못해 다시 문의합니다. 라디오버튼 클릭시 폼값전송
본문
<table>
<form name="fwrite" method="post" action="./update.php">
<? while($row=sql_fetch_array($gamok2)){?>
<tr>
<td>
<select name="reserve">
<option value="today">오늘</option>
<option value="tommorrow">내일</option>
</select>
</td>
<input type="radio" name="wr_id" radiocheck itemname="일자" value='<?=$row[wr_id]?>'>
</td>
</tr>
<?}?>
</table>
<input type=submit value='예약' style='padding:4px 34px;'>
</form>
//update 파일내의 저장코드
<?
sql_query(" update $rebook_table set redate = '$reserve' where wr_id = '$wr_id' ");
?>
===============================
위와 같이요...
라디오버튼을 클릭하면 wr_id 값을 업데이트 파일에 넘겨주는데요.. 이때 선택된 reserve값도 같이 넘겨야 되거든요.
그래야 업데이트 파일에서 저장을 할 수 있으니까요~~
문제는 while 문으로 돌려서 리스트형식으로 출력되기 때문에 같은 이름의 reserve가 여러개가 나옵니다. 그중에 라디오버튼을 클릭한 값을 골라 전송해야하는데 그 방법을 모르겠습니다.
reserve값이 하나라면 당연히 넘어갈텐데 이 경우에는 reserve 값이 리스트이기 때문에 여러개가 출력되거든요..ㅠㅠㅠ 그 출력된 리스트에서 선택한 후 전송버튼을 누르게 됩니다.
어떻게 해야하나요? 고수님들 알려주세요~~~~
답변 1
안녕하세요, 그누x쵸딩입니다. ㅋ
제가 고민하다 갖은 삽질 끝에 해결한거 같은데요..
더우기 리스트에서 작업은 글이 많아 글쓴이 wr_id 다 고려해야 해서 머리가 뽀개지더군요,, ㅋ
reserve가 여러개 나올수 있다는 건데..
그중 체크된 값만 보내는거니
보낼 때 라디오 체크된것만 배열로 보내세요.
$(".chked_ajax<?php echo $list[$i]['wr_id']; ?> input[type='radio']:checked").
앞에는 class 뒤에는 그중 체크된거만 선택하는겁니다.
push($(this).val()); 하면 배열로 들어값니다.
var reserve = [];
$(".all_chk_ajax<?php echo $list[$i]['wr_id']; ?> input[type='radio']:checked").each(function(){//체크된 리스트 저장
reserve.push($(this).val());
});
이게 아니고 그냥 리스트 한개의 글의 한개의 reserve만 보낸다면 <?php echo $list[$i]['wr_id']; ?>를 넣어 다른 글과 구분해줘야 해당 reserve가 날라갑니다.
리스트에서 업데이트라면 ajax로 보내서 업데이트하는게 깔끔하고 좋습니다.