2013-07-07 4 views
1

간단한 팝업 플러그인을 작성하여 div 및 black out 화면을 간단하게 표시합니다. 그것은 두 가지 방식으로 작동합니다. 간단한 메시지와 아약스 로딩.옵션에서 현재 선택한 요소에 액세스하십시오.

<div id="pollList" style=" margin-top:10px;"> 
<li pollId='1'><strong>polling number 1</strong></a><br /><span style='font-size:9px;'>this is a test polling</span></li> 
<li pollId='2'><strong>polling number 2</strong></a><br /><span style='font-size:9px;'>this is a test polling</span></li> 

지금 난 내 플러그인이 모든 리튬 태그에 적용하는 것이 원하는, 그래서 난이 사용하고 있습니다 :

$("#pollList li").popup({ 
    width:800, 
    height:400, 
    popupType:'ajax', 
    ajaxURL:root+'polls/attend/poll/'+$(this).attr('pollId') 
}); 
여기에 내가이 같은 여론 조사의 목록을 가지고 내 문제

입니다

여기 $ (this) .attr ('pollId')를 플러그인에 전달하여 관련 URL을 호출하려고하지만 $ (this)가 작동하지 않고 'undefined'를 반환하는 것처럼 보입니다. 어떻게 pollId에 액세스 할 수 있습니까? 속성 부엉이 난 n 플러그인 옵션?

답변

0

this 당신은 아마 전역 개체이거나 이벤트 처리기에있는 경우 처리기가 바인딩 된 개체입니다. 어쨌든 적절한 컨텍스트를 얻으려면 각 기능을 사용하여 특정 li에 따라 URL을 설정할 수 있습니다.

$("#pollList li").each(function(){ 
    $(this).popup({ 
    width:800, 
    height:400, 
    popupType:'ajax', 
    ajaxURL:root+'polls/attend/poll/'+$(this).attr('pollId') 
    }); 
}); 

임의의 데이터 속성이 아닌 데이터 속성을 사용할 수도 있습니다.

+0

감사합니다. –

관련 문제