2012-12-05 6 views
0

에 온 클릭 : 5는 동적으로 추가 ID입니다자바 스크립트 변경 버튼 내가 버튼이 기존 기능

<button onclick = "doDisactivate(5);" id = "status_button_5" value = "Disactivate" /> 

. doDisactivate (ID) 및 doActivate (5) 두 개의 자바 스크립트 함수가 있습니다.

function doDisactivate(serviceID) { 
    // logic that changes the button onclick to doActivate(serviceID) 
} 

function doActivate(serviceID) { 
    // logic that changes the button onclick to doActivate(serviceID) 
} 

나는 JQuery와 함께 다음 내가 할 수있는 것 같은데요 :

${"#status_button_" + serviceID}.click(function() { 
    doActivate(serviceID); 
}); 

그러나 매개 변수로 ID를 통과하면서 직접 기능을 할당하는 방법이 있나요?

답변

1

jquery 이벤트 바인딩을 사용하지 않으므로 $("#status_button_5").attr("onclick", "doActivate(5);")을 사용하여 onclick 속성을 직접 변경할 수 있습니다.

+0

있습니다 이벤트 바인딩 더 그런 짓을? 그들은 무엇을 추가합니까? –

+1

작업하기가 더 쉽습니다. 예를 들어'var activated = false; else {doActivate (5);} activated =! activated;})'$ ("# status_button_5") on ("클릭", function() {if (활성화) {doDisactivate (5) – rdiazv

+0

팁과 답변에 감사드립니다. –

1

${"#status_button_" + serviceID}.click(function(event) { 
    doActivate(event.target.id); 
}); 

또는

onClick="doDisactivate(this.id)" 
+0

이 방법이 효과적이지만 다른 익명 함수를 사용하는 것이 아니라 직접 함수를 사용하고 싶습니다. –

+0

당신은 doActivate 함수에 이벤트 매개 변수를 추가 할 수 있으며, 함수 내에서'event.target.id'를 호출하십시오. – shuaqiu