테스트 사이트 - 개발 중인 베타 버전입니다

체크박스 선택시 그 행의 값을 가져올 수 있나요? 채택완료

zpi20 10년 전 조회 4,161

안녕하세요?

 

제가 문의 드리려고 하는 내용은 회원관리페이지로써 사용자가 회원가입을 하면 무조건 회원이 되는게 아니라 관리자가 한번 더 확인하고 최종 회원 여부를 체크하는 프로세스로 이루어져 있습니다.

 

 번호

 

 회원아이디

 회원여부

2

 

 

 

 abcd1234

 N

1

 

 

 

 abcd5678

 Y

 

 

 회원승낙

 

 

위와 같은 화면이라고 한다면, 회원여부가 N이라면 Y로 회원여부가 Y라면 N으로 변경되는 로직입니다.

그래서 관리자가 만약 회원여부가 Y인 사용자를 선택을 해 회원승낙 버튼을 클릭하였다면

'현재 회원인 사용자를 선택하셨습니다. 회원을 취소하시려면 확인버튼을 클릭하세요' 라는 메시지창을 띄우고 싶은데 어떻게 하면 좋을까요?

 

체크박스를 선택한 회원여부의 값을 가지고 오고 싶은데 그게 가능한지 알려주세요~

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
10년 전

체크박스의 용도가 회원승낙이라는 버튼을 눌러서 일어나는 액션용이라면 회원여부를 따져서 Y인 애들은 차라리 disabled를 줘서 체크 자체가 안 되게 하는 게 낫지 않을까요?

<input type="checkbox" name="~~~~" <?=회원여부 == "Y" ? "disabled" : ""?> />

이렇게 회원이면 체크박스 자체가 시커멓게 변해서 체크가 안 되게 하는 게 나을 것 같습니다.

 

아래 코드 참고해서 사용하시면 될 듯합니다.

[http://nyaongii.dothome.co.kr/temp/wrid_73603.html" target="_self">sample]

<meta charset="utf-8" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
$(function() {
	$("table#test tr:gt(0)").each(function() {
		var isMem = $(this).find("td:eq(3)").text();
		$(this).find("input[type='checkbox']").click(function() {
			if($(this).is(":checked") == true) {
				if(isMem == "Y") {
					var msg = "현재 회원인 사용자를 선택하셨습니다.\n회원을 취소하시려면 확인버튼을 클릭하세요.";
					confirm(msg) ? alert("확인 버튼을 클릭하셨습니다.") : alert("취소 버튼을 클릭하셨습니다.");
				}
			}
		});
	});
});
</script>

<table id="test" border="1">
	<tr>
		<td>번호</td>
		<td></td>
		<td>회원아이디</td>
		<td>회원여부</td>
	</tr>
	<tr>
		<td>2</td>
		<td><input type="checkbox" name="chk[]" value="2" /></td>
		<td>abcd1234</td>
		<td>N</td>
	</tr>
	<tr>
		<td>1</td>
		<td><input type="checkbox" name="chk[]" value="1" /></td>
		<td>abcd5678</td>
		<td>Y</td>
	</tr>
</table>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

z
zpi20
10년 전
알려주셔서 감사합니다ㅠㅠ
저도 그 방법을 생각하지 않은건 아닌데 회원취소할 수도 있어야 해서요... 흠.. 아예 페이지를 따로 만들어버릴까요?
왕계란
10년 전
제가 엄한 걸 만들었네요. 허허허
z
zpi20
10년 전
아니예요~ 전 생각만 했을뿐인데, 이렇게 코드까지 다 짜주셔서 시간이 별로 걸리지 않았어요~ 감사합니다^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인