๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Lect & Tip/javascript, jQuery

[์›น์ ‘๊ทผ์„ฑ] jquery checked checkbox radio ์ฒดํฌ ์œ ๋ฌด, ์„ ํƒ๋œ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ ์ œ์ด์ฟผ๋ฆฌ ์ฒดํฌ๋ฐ•์Šค ๊ฐœ์ˆ˜์ฒดํฌ ์†Œ์Šค

by ๋‚ฏ์„ ๊ณต๊ฐ„2019 2019. 8. 2.

โœˆ ์›น์ ‘๊ทผ์„ฑ์„ ๊ณ ๋ คํ•œ jQuery๋ฅผ ํ™œ์šฉํ•œ ์ฒดํฌ๋ฐ•์Šค์™€ ๋ผ๋””์˜ค ๋ฒ„ํŠผ ์ฒ˜๋ฆฌ

๊ฐœ์š”

๊ฐ•๋™๊ตฌ๋ฆฝํ†ตํ•ฉ๋„์„œ๊ด€ ํšŒ์›๊ฐ€์ž…์—์„œ ์ด์šฉ์•ฝ๊ด€ ๋™์˜ ๋ฐ ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ ๋™์˜์— radio์™€ checkbox form์ด ์‚ฌ์šฉ๋˜์–ด ์žˆ๋Š”๋ฐ, 

์›น ์ ‘๊ทผ์„ฑ์— ๋ถ€ํ•ฉ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์˜ค๋ฅ˜๋ฐœ์ƒ ์‹œ ์•Œ๋ฆผ ํ›„ ํ•ด๋‹น ์ž…๋ ฅํผ์œผ๋กœ ํฌ์ปค์Šค๋ฅผ ๋งž์ถฐ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

๋•Œ ๋งˆ์นจ ์˜ค๋Š˜ ์ด ํšŒ์› ์•ฝ๊ด€ ๋™์˜ ํŽ˜์ด์ง€์—์„œ ๋ผ๋””์˜ค์™€ ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ๋ชจ๋‘ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์–ด์„œ,

 jquery radio checked์™€ jquery checkbox checked๋กœ ์ฒดํฌ ์œ ๋ฌด์™€ focus()๋ฅผ ์ด์šฉํ•ด์„œ ์ด›์  ๋งž์ถ”๋Š” ๊ฒƒ์„ ์˜ˆ์ œ๋กœ ์“ธ ์ˆ˜ ์žˆ์–ด์„œ ํฌ์ŠคํŒ… ํ•œ๋‹ค.

์ฒดํฌ ์œ ๋ฌด๋“ , ํฌ์ปค์Šค๋ฅผ ๋งž์ถ”๋Š” ๊ฒƒ์ด๋“  jquery์˜ ์ ˆ๋ฐ˜์€ ์š”์†Œ(element)์˜ ์ •ํ™•ํ•œ ์„ ํƒ์ž ์„ ์ •์ด ์ค‘์š”ํ•˜๋‹ค.

์˜ˆ์ œ ์†Œ๊ฐœ

์ผ๋‹จ ์˜ˆ์ œ๋กœ ๋ณด์ž.

ํ†ตํ•ฉํšŒ์› ๊ตฌ๋ฆฝ๋„์„œ๊ด€ํšŒ์› ์ž‘์€๋„์„œ๊ด€ํšŒ์› ํšŒ์› ์•ฝ๊ด€์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์ธ์ •๋ณด ์ˆ˜์ง‘ ๋ฐ ์ด์šฉ์•ˆ๋‚ด๋ฅผ ์ˆ™์ง€ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ œ์ด์ฟผ๋ฆฌ ์˜ˆ์ œ ์†Œ์Šค์ด๋‹ค.

<p class="memtypeRadio">
	<input type="radio" name="radio" id="memtype1" value="memtype">
	<label for="memtype1">ํ†ตํ•ฉํšŒ์›</label>
	<input type="radio" name="radio" id="memtype2" value="memtype">
	<label for="memtype2">๊ตฌ๋ฆฝ๋„์„œ๊ด€ํšŒ์›</label>
	<input type="radio" name="radio" id="memtype3" value="memtype">
	<label for="memtype3">์ž‘์€๋„์„œ๊ด€ํšŒ์›</label>
</p>
<p class="mt05">
	<input name="checkbox1" id="checkbox1" type="checkbox" value="checkbox1">
	<label class="inpSchClass00" for="checkbox1">ํšŒ์› ์•ฝ๊ด€์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.</label>
</p>
<p class="mt05">
	<input name="checkbox2" id="checkbox2" type="checkbox" value="checkbox2">
	<label class="inpSchClass00" for="checkbox2">๊ฐœ์ธ์ •๋ณด ์ˆ˜์ง‘ ๋ฐ ์ด์šฉ์•ˆ๋‚ด๋ฅผ ์ˆ™์ง€ํ•˜์˜€์Šต๋‹ˆ๋‹ค.</label>
</p>

์ œ์ด์ฟผ๋ฆฌ ์ฒดํฌ๋ฐ•์Šค ๊ฐœ์ˆ˜์ฒดํฌ

<script type="text/javascript" language="javascript">
	$('#confirm').click(function(e) {
		if(!$(':input:radio[name=radio]:checked').val()) { 
		//jquery radio ์„ ํƒ์ž๋กœ ์„ ํƒํ•˜๊ณ  checked ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•จ.
			alert("ํšŒ์›๊ฐ€์ž… ์œ ํ˜•์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”.");
			$(':input:radio[name=radio]:eq(0)').focus();
		}
		else{
			$('#agreeWrap').show();
		}
	});
	$(document).ready(function(e) {	
		$("#agreeBtn").click(function(){
		//์ฒดํฌ๋ฐ•์Šค๊ฐ€ ์ฒดํฌ๋˜์—ˆ๋Š”์ง€ ํŒ๋ณ„
		if($("#checkbox1").is(":checked") && $("#checkbox2").is(":checked")){
				$("#agreeFrm").attr("action","/front/certy/online").submit();
			} else {
				if(!$("#checkbox1").is(":checked"))
				{
					alert("์•ฝ๊ด€์„ ๋™์˜ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.");
					$('#checkbox1').focus();  // ํ•ด๋‹น ์ฒดํฌ๋ฐ•์Šค๋กœ ํฌ์ปค์Šค ์ด๋™.
					return;
				}
				if(!$("#checkbox2").is(":checked"))
				{
					alert("๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ์— ๋™์˜ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.");
					$('#checkbox2').focus();
					return;
				}
			}
		});
	});
</script>

์˜ˆ์ œ Demo ํŽ˜์ด์ง€ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ชจ๋ฐ”์ผ์—์„œ ์†Œ์Šค๊ฐ€ ๋ณด์ด์ง€ ์•Š์„๊นŒ๋ด ์†Œ์Šค ์ด๋ฏธ์ง€ ํŒŒ์ผ ์ฒจ๋ถ€

๊ทธ๋ฆฌ๊ณ  ์•ˆ๊ตฌ์ •ํ™”๋ฅผ ์œ„ํ•œ ๊ฐ์„ ๋ฏธ๊ฐ€ ์˜ˆ์œ ์™ธ๊ตญ ๋ชจ๋ธ ์‚ฌ์ง„ ํ•œ์žฅ ์งค๋ฐฉ์œผ๋กœ~

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€