๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
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 ํŽ˜์ด์ง€ ๋ฐ”๋กœ๊ฐ€๊ธฐ

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

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

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€