2011-04-19 5 views
1

다음과 같은 문제가 있습니다. 모달 대화 상자에 동적 단추를 추가하려고합니다. 그러나 나는 각 버튼에 기능을 부여 할 수있는 방법을 모른다. 예를 들어jQuery 대화 상자의 동적 함수

 for(i=0;i<buttons.length;i++){ 
      arrButton[i] = { id : buttons[i].name , text : buttons[i].label , click : function(){ buttons[i].onclick } }; 
    } 
    $("#divFormulario").dialog 
     ({ modal : true, 
      title : titulo, 
      resizable: false, 
      buttons : arrButton  
     }); 

, 나는 다음과 같은 경우 :

나는 다음이 buttons[i].onclick = "functionAlert();를, 내가 버튼을 buttons[i].onclick으로 클릭 이벤트를 만들 때,하지만 난 functionAlert()와 클릭 이벤트가 필요합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 단지 할, 문자열로 전달 기능을 대신

function functionAlert() { ...some code... } 

:

+0

수 없습니다 당신은 그냥 클릭하십시오 : function() {functionAlert(); }? – locrizak

+0

대화 상자에서 필요로하는대로 버튼 배열에 동일한 객체 형식을 사용할 수도 있습니다. 따라서 "arrButton"으로 전체를 복사하는 대신 "버튼"배열을 전달하면됩니다. – DarthJDG

+0

dynamicaly 버튼을 만들면 [.live()] (http://api.jquery.com/live/)를 사용하는 것이 좋습니다. – tenshimsm

답변

3

가정 당신은 기능이

buttons[i].onclick = functionAlert; 

그런 다음 루프가 있어야한다 :

for(i=0;i<buttons.length;i++){ 
    arrButton[i] = { id : buttons[i].name , text : buttons[i].label , click : buttons[i].onclick }; 
} 
+0

감사하지만이 문제는 다음 메시지와 같습니다. "Microsoft JScript : ..... '적용'"여기 h.click.apply (b.element [0], arguments) 근처에서 오류가 발생합니다. "Jquery 파일 – user715389

+0

감사 마스터 !!!! 몇 가지 조정을했고 효과가있었습니다. – user715389

관련 문제