var obj = {
    foo:    'bar',
    base:   'ball'
};

for(var key in obj) {
    alert('key: ' + key + '\n' + 'value: ' + obj[key]);
}


$.each(obj, function(key, value) {
    alert('key: ' + key + '\n' + 'value: ' + value);
});




d
a. jQuery('#couponModal').innerHTML
b. jQuery('#couponModal').html()

b를 써야하는데 a를 쓰는 바람에 장장 12시간을 개 삽질 다 했다... 아나..

이 두 가지의 차이점은 분명히 존재한다. 
특히 nyroModalManual을 사용할 경우 innerHTML을 하게 되면 nyroModalManual이 두 번 열리게 되면 IE에서는 무조건 에러를 뱉어낸다.
(events가 없다는 개소리를..)
하지만 html()로 div를 읽어 들이면 에러가 없다. 왜일까?

밤새고 나서 다시 연구해볼 문제...




jQuery('#nyroModalContent #btnRefundCouponBook').click( callback ~

위 구문은 Firefox 및 chrome에서는 아무 이상 없다.

단 IE에서는 에러 뱉어낸다... 지원하지 않는 함수 입니다.

그럴땐 아래 처럼...

jQuery('#nyroModalContent #btnRefundCouponBook').live('click', function(){

설명은 간략하게 한다면 아래처럼 누군가가 해주었는데..
you could use one of jQuery's fancy plugins like liveQuery which monitors the DOM for changes and then re-assigns the event's function when you add something. Although, be careful because liveQuery doesn't really monitor the DOM; it just extends jQuery's 'append','prepend','html',etc. methods and re-assigns when something is added, so if you add something to the DOM using another library or native JavaScript methods then liveQuery will not work.

해석은 생략한다.. 
live를 통해서는 append, prepend, html 등 기본적인 것에 대한 새로운 callback 정의가 가능하다는 것..
cell editing 후 저장할때 발생한 에러인데 - 

ajax로  값을 넘기거나 호출하려고 해서 발생한다.

url에 jsp, php, asp 등 request가 가능한 url은 가능한데, DWR로 해야한다면?

머리가 좀 복잡해진다... 

해결후에 다시.. 
출처 : http://www.ericmmartin.com/projects/simplemodal-demos/



압축파일내 index.html 실행화면

앞뒤 코드 다떼고 필요 소스만 남긴 후 실행 화면


간단해서 좋군요.. 이외에도 Form 간단한 알림창 등이 있는데 -
모두 js로 되어 있어서 script로 불러다 class로 사용하면 되네요..
중요한 것은 style이 잘 정의 되어 있어야 있어보이네요.. ㅋ

아래는 필요 부분만 남긴 소스..







	 or Demo
	
	
input title here

TEST

SimpleModal



각 기능별로 구분해 놓았고, 각 예제는 script load후에 불러다 쓰면 되게 전부 js로 빼 놓은것이 대부분입니다.
그렇지 않은 것은 코드가 워낙 간단한 것이구요..

점점 jQuery가 위대해 집니다..


위와 같은 그림이 있는데 -
직장/집 을 선택하면 주소를 넣어야하고, 수신거부를 선택하면 패스되는 유효성 검사를 해보려하는데 -

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 선택된 것만.


+ Recent posts