영카드 어드민 주문내역 상태변경 셀렉트박스로 구현 문의 채택완료
phpers
4년 전
조회 1,828
커스터마이징을 하다보니 어드민 페이지에서
주문내역의 상태를 정해진 프로세스가 아닌 경우에 따라서 앞, 뒤로 상태를 일괄 변경해야해서
주문->입금->준비->배송->완료가 아닌
입금->주문(역순위), 준비->입금 또는 배송등의 상태로 마음데로 상태를 일괄 변경하고 싶어서
원 소스 부분인
</p>
<p><input type="checkbox" name="od_status" value="<?php echo $change_status; ?>"><strong> [<?php echo $od_status ?>]</strong>상태에서 [<strong><?php echo $change_status ?></strong>]상태로 변경합니다.</label></p>
<p> <input type="submit" value="선택수정" class="btn_submit" onclick="document.pressed=this.value"></p>
<p> </p>
<p> </p>
<p>를 아래처럼</p>
<p> </p>
<p> </p>
<p><input type="checkbox" name="od_status" value=""><label><strong> [<?php echo $od_status ?>]</strong>상태에서 </p>
<p> </p>
<p><select onchange="document.getElementById('od_status2').value = this.options[this.selectedIndex].value"></p>
<p> <option value="주문확인전">주문확인전</option></p>
<p> <option value="판매자에게 주문완료">판매자에게 주문완료</option></p>
<p> <option value="판매자 미발송">판매자 미발송</option></p>
<p></select> 상태로 변경합니다.</label></p>
<p>
</p>
<p> </p>
<p> <input type="submit" value="선택수정" class="btn_submit" onclick="document.pressed=this.value"></p>
<p> </p>
<p>
이런식으로 셀렉트박스를 이용해서 $change_status의 값을
</p>
<p> </p>
<p> if(document.pressed == "선택삭제") {</p>
<p> if(confirm("선택한 자료를 정말 삭제하시겠습니까? \n주문확인전 상태가 아니면 확인을 누르셔도 삭제되지 않습니다.")) {</p>
<p> f.action = "./orderlistdelete.php";</p>
<p> return true;</p>
<p> }</p>
<p> return false;</p>
<p> }</p>
<p> </p>
<p> var change_status = f.od_status.value;</p>
<p> </p>
<p> if (f.od_status.checked == false) {</p>
<p> alert("주문상태 변경에 체크하세요.");</p>
<p> return false;</p>
<p> }</p>
<p> </p>
<p> var chk = document.getElementsByName("chk[]");</p>
<p> </p>
<p> for (var i=0; i<chk.length; i++)</p>
<p> {</p>
<p>
에 넘기려하는데 값이 공백으로 처리가 되어서요.
혹시 셀렉트박스를 이용해서 상태를 변경하시는 분이 계시면 소스 좀 공유주시거나 이 글에 도움 좀 부탁드립니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
4년 전
od_status checkbox 를 주석처리하시고
select 에 name 을 od_status 로 주시면 될 것 같습니다.
onchange도 빼고요
작성하신 소스 중에는
셀렉트 박스가 체인지될때 #od_status2 에 value 값을 변경한다는건데
그럼 체크박스에 id="od_status2" 를 줘야 일단 value 가 바뀔거 같고요
체크박스는 value 변경만이 아니고 체크도 해줘야 해서 번거로울거 같습니다
(셀렉트박스로 status 변경 -> 체크박스 체크 -> 선택변경 submit)
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인