2017-12-06 10 views
0

클릭하면 대화 상자가 열리는 테이블 행이 있습니다. 테이블 행의 클래스는 "관련"또는 "비 연관"입니다. 대화 상자의 단추를 만들려고하지만 클릭 한 행의 클래스에 따라 달라집니다.jquery 대화 상자 버튼을 기반으로 다른 기능

$('#opps tr').click(function(){ 
     var thisClass = $(this).attr('class'); 
     $('#oppData').dialog({ 
          width: dWidth, 
          height:dHeight, 
          modal:true, 
          buttons: { 
     //if thisClass == unassociated 
        "Submit":function(){ //do stuff } 

     // if thisClass == associated 
        "Do Other stuff":function(){} 
          } 
    }); 
}); 

어떻게하면됩니까?

답변

1

약간의 코드 리팩토링으로이 작업을 수행 할 수 있습니다. 대답의 핵심은 버튼 속성을 결정하는 데 도움이되는 hasClass 인 jQuery 함수입니다. 또한 모든 JSON 객체가 속성 가방 일 뿐이며 속성 가방 구문을 사용하여 myButtons을 빌드한다는 아이디어를 사용하고 있습니다.

$('#opps tr').click(function(){ 
     var myButtons= {}; 

     if ($(this).hasClass("associated")) { 
      myButtons["Submit"] = function() { ... }; 
     } else { 
      myButtons["Do Other stuff"] = function(){ ... }; 
     } 

     $('#oppData').dialog({ 
          width: dWidth, 
          height:dHeight, 
          modal:true, 
          buttons: myButtons 
     }); 
});