본문 바로가기
개발

체크박스 선택시 해당 값으로 다른 테이블의 체크박스 변경하기

by 6미리 2015. 8. 31.

가끔 생각해보면 내가 해보려고 하는건 인터넷에 없을까 하는 생각이 듭니다.


오늘 하던 팁은 테이블1에서 하나의 체크박스를 건드리면 테이블2에서 해당 값으로 시작하는 데이터들의 체크박스를 해제하는 것입니다.



function chkSel2(selVal) {
	//넘겨받은 selVal을 가지고 buildtype2에서 해당값을 갖는 체크박스가 체크되어 있는지 찾습니다.
	//체크가 되어 있으면 true를 반환할거고 아니면 false를 반환하겠죠.
	var chkYn = jQuery("input[name=buildtype2][value='"+selVal+"']").is(":checked");

	//그렇게 체크된 값을 가지고, buildtype3의 모든 값들을 찾기 시작합니다.
	jQuery("input[name=buildtype3]").each(function(index, value) {
		//이제 each라는 반복문에 대해서는 굳이 설명할 필요는 없겠죠.
		//현재 값을 chgVal에 저장합니다.
		var chgVal = this.value;

		//chgVal 과 selVal이 같고 체크가 되어 있다면
		if(chgVal == selVal && chkYn == true) {
			//jQuery에게 buildtype3의 체크박스들의 chgVal을 value로 갖고 있는 체크박스를 체크하도록 시킵니다.
			jQuery("input[name=buildtype3][value='"+chgVal+"']").attr("checked",true);
		} else if(chgVal == selVal && chkYn == false) {
			//true false에 따라 체크박스가 해제된거라면 해당값은 체크를 해제하기 시작하겠죠.
			jQuery("input[name=buildtype3][value='"+chgVal+"']").attr("checked",false);
		}
	});
}

buildtype2라고 이름지어진 체크박스의 무리들이 있습니다.

이 중에 넘겨받은 selVal 이라는 값을 갖는 체크박스가 체크 되었는지 체크합니다.


이렇게 하면 서로 다른 테이블의 값들을 찾을수 있습니다.

말이 테이블이라고 했을뿐 input type의 name으로 체크를 하므로 여러 다양한 상황에서 사용가능할 것입니다.


댓글