2009-06-07 2 views
1

현재 mysql db에서 데이터를로드 중입니다. 특정 조건이 충족되면 자원 버튼이 표시됩니다. 버튼을 클릭하면 대화 상자가 표시되고 PHP 파일이 호출되어 상자가 채워집니다..live로 jquery-ui 대화 문제가 발생했습니다.

$('.volunteer').live("click", function(){ 
      // this gets the game number from the table to pass to the php file 
      var gameno=$(this).parent('td').prev("td").prev("td").prev("td").prev("td").prev("td").html(); 
      $('#chaincrewDialog').dialog('open').load("popup.php?gameno="+gameno); 
}); 

내 클릭 버튼이 잘 작동하고, 더 JS 또는 불을 지르고 오류 메시지가 없습니다 :

여기
$(document).ready(function() { 
    $("#chaincrewDialog").dialog({ autoOpen: false }); 
}); 

내가 대화 상자를 호출하고있어 어떻게 : 우선 대화 상자를 초기화합니다. 내 대화는 다음과 같은 매개 변수와 함께 호출됩니다

$(function() { 
    $('#chaincrewDialog').dialog({ 
      resizable: true, 

    autoOpen: false, 
    resizable: false, 
    modal:  true, 
      dialogClass: 'flora', 
      title: 'Volunteer', 
      overlay: { 
     opacity: 0.5, 
     background: "#A8A8A8" 
    }, 
    height: 600, 
    width: 700, 
      buttons: { 
        'Close': function() { 
        $(this).dialog('remove') 
        } 
      } 
}); 

나는 쉽게 뭔가를 누락 확신 해요,하지만 난에도 표시 내 대화 상자를 얻을 수 없다 ....

답변

0

왜이 모든 라인 :

var gameno=$(this).parent('td').prev("td").prev("td").prev("td").prev("td").prev("td").html(); 

당신이 class 또는 id 선택으로 html, 을 변경하려는 div에 도착? 게이 노에 경고 했습니까? 해당 번호가 포함되어 있습니까? 왜 당신은 모든 이전을() 일을하고 있다고하는 것을 의미한다 하임 무엇 evgi

+0

"var"줄이 게임 번호 인 표 셀의 값을 차지합니다. gameno가 정확하며 매번 경고를받습니다. 그 대화 상자가 팝업으로 나타나지 않습니다! –

1

이전() ....

var gameno=$(this).parent('td').prev("td").prev("td").prev("td").prev("td").prev("td").html(); 

당신은 할 수 있어야한다 :.

var gameno=$(this).parent().prevAll('td:eq(4)').html(); 

Prevall은 모든 이전 형제를 붙잡고 ('td : eq (4)') 다음 필터를 사용하여이를 필터링합니다. eq (4)는 4의 제로 인덱스로 요소를 가져옵니다 ($ (this)) .parent()).

아, .parent는 선택기를 ned하지 않으며 첫 번째 상위 항목 만 잡습니다. 첫 번째 부모를 찾으려면

var gameno=$(this).parents('td:first').prevAll('td:eq(4)').html(); 
관련 문제