위와 같은 그림이 있는데 -
직장/집 을 선택하면 주소를 넣어야하고, 수신거부를 선택하면 패스되는 유효성 검사를 해보려하는데 -
html을 이용한 for문을 사용한 것, jQuery를 이용하는 것 2가지를 비교해보면..
if(frm.p_addressGubun.length > 0){ var b = 0; for(var i=0; i<frm.p_addressGubun.length; i++){ // 직장-집 일 경우 if(frm.p_addressGubun[i].checked && frm.p_addressGubun[i].value != '3'){ b = 1; break; // 수신거부일 경우 }else if(frm.p_addressGubun[i].checked && frm.p_addressGubun[i].value == '3'){ b = 2; break; } } if(b == 0){ alert("주소 구분을 선택해 주세요. 주소가 없는 경우 수신거부를 선택하십시오."); return false; }else if(b == 1 && frm.p_zipCode.value == ""){ alert("주소를 입력하세요. 주소가 없는 경우 수신거부를 선택하십시오."); return false; } return true; }
위 코드를 jQuery 코드로 바꾸면.. 아래와 같다..
if(frm.p_addressGubun.length > 0){ if($j(':radio[name="p_addressGubun"]:checked').length < 1){ alert("주소 구분을 선택해 주세요. 주소가 없는 경우 수신거부를 선택하십시오."); return false; } }else if($(':radio[name="p_addressGubun"]:checked').val() != 3 && frm.p_zipCode.value == ""){ alert("주소를 입력하세요. 주소가 없는 경우 수신거부를 선택하십시오."); return false; } return true; }
정말 간단해 진다..
:radio -> elements 중 radio 버튼 들
[name="elements_name"] -> elements_name 을 가진
합치면 :radio[name="p_addressGubun"] -> p_addressGubun 이름을 가진 radio 버튼을 선택한다.
:checked 선택된 것만.
'웹 개발 > jQuery' 카테고리의 다른 글
(jQuery object).click 이 IE에서 안될 수 있다. (0) | 2010.06.24 |
---|---|
[Error] Component returned failure code: 0x80070057 (0) | 2010.06.22 |
Simple Modal (0) | 2010.04.22 |
[Link] jQuery 50+ Amazing Examples - Part1 (0) | 2010.04.22 |
jqGrid 설명 01 (0) | 2010.03.29 |