체크박스 선택시 그 행의 값을 가져올 수 있나요?
본문
안녕하세요?
제가 문의 드리려고 하는 내용은 회원관리페이지로써 사용자가 회원가입을 하면 무조건 회원이 되는게 아니라 관리자가 한번 더 확인하고 최종 회원 여부를 체크하는 프로세스로 이루어져 있습니다.
번호 |
| 회원아이디 | 회원여부 |
2
| □
| abcd1234 | N |
1
| □
| abcd5678 |
Y |
회원승낙 |
위와 같은 화면이라고 한다면, 회원여부가 N이라면 Y로 회원여부가 Y라면 N으로 변경되는 로직입니다.
그래서 관리자가 만약 회원여부가 Y인 사용자를 선택을 해 회원승낙 버튼을 클릭하였다면
'현재 회원인 사용자를 선택하셨습니다. 회원을 취소하시려면 확인버튼을 클릭하세요' 라는 메시지창을 띄우고 싶은데 어떻게 하면 좋을까요?
체크박스를 선택한 회원여부의 값을 가지고 오고 싶은데 그게 가능한지 알려주세요~
답변 1
체크박스의 용도가 회원승낙이라는 버튼을 눌러서 일어나는 액션용이라면 회원여부를 따져서 Y인 애들은 차라리 disabled를 줘서 체크 자체가 안 되게 하는 게 낫지 않을까요?
<input type="checkbox" name="~~~~" <?=회원여부 == "Y" ? "disabled" : ""?> />
이렇게 회원이면 체크박스 자체가 시커멓게 변해서 체크가 안 되게 하는 게 나을 것 같습니다.
아래 코드 참고해서 사용하시면 될 듯합니다.
[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>
답변을 작성하시기 전에 로그인 해주세요.