2013-01-18 4 views
1

jQuery 대화 상자에서 클릭 한 단추의 컨텍스트를 가져올 수 있어야합니다.단추에서 데이터 가져 오기 자동 생성 단추 - jQuery 대화 상자를 클릭하십시오.

버튼 이름 배열로 대화 상자를 자동 생성하는 함수가 있습니다. 이 함수는 다음과 같습니다.

function setAutoDialog(buttonNameArray){ 
    var testArray = buttonNameArray; 
    var passDataBack = function() { 
     var test = $('.getButtonClicked').text(); // NEED THE TEXT FROM THE BUTTON THAT WAS CLICKED HERE 
     $(this).dialog("close"); 
    } 
    var myButtons = {}; 

    for(var i=0; i<testArray.length; i++){ 
     myButtons[testArray[i]] = passDataBack; 
    } 

    $('#autoDialog').dialog({ 
     autoOpen: false, 
     dialogClass: 'autoDialog', 
     width: 'auto', 
     buttons : myButtons 
    }); 
} 

대화 상자에서 클릭 한 값을 얻기 위해 어떤 선택자를 사용해야하는지 잘 모르겠습니다. 예를 들어 "Cancel"이라는 버튼이 있다면 "Cancel"을 클릭하면 해당 텍스트를 가져와 해당 텍스트에 대한 작업을 수행해야합니다. 난 콜백 함수를

버튼을 사용하여이 경우

답변

0

알아 냈어.

처리기에서 click 이벤트를 함수에 전달하십시오. 그렇게.

$('#button1').live('click', function() {  
    setAutoDialog(buttonArray, $(this)); 
    $("#autoDialog").dialog("open"); 
}); 

그런 다음 함수에서 이벤트를 참조하고 대상에서 textContent를 가져옵니다.

function setAutoDialog(buttonNameArray, clickEvent){ 
    var testArray = buttonNameArray; 
    var passDataBack = function (clickEvent) { 
     var t2 = clickEvent.target.textContent; 

     $(this).dialog("close"); 
    } 
    var myButtons = {}; 

    for(var i=0; i<testArray.length; i++){ 
     myButtons[testArray[i]] = passDataBack; 
    } 

    $('#autoDialog').dialog({ 
     autoOpen: false, 
     dialogClass: 'autoDialog', 
     width: 'auto', 
     buttons : myButtons 
    }); 
} 
0

를 (위로 기본 화면에 전달) : { 라벨 "닫기" 콜백 : 함수() { App.ModalDialog.close() ; } // 콜백
}