2014-12-14 6 views
-3

에서 나는 다음과 기능을 가지고 : 함수에 사용 "이"자바 스크립트 함수

function editIncome(){ 
    var id = $(this).data('id'); 
    var amount = $(this).data('amount'); 
    var name = $(this).data('name'); 
    var user = $(this).data('user'); 
    $('input[name="income_id"]').val(id); 
    $('input[name="income_name"]').val(name); 
    $('input[name="income_amount"]').val(amount); 
    $("#incomeEdit").modal('show'); 
} 

내가 최근에 function editIncome(){...}$(".editIncome").click(function(){...});에서 변경 이제 $(this) 호출이로드되지 아무것도.

내 질문에 어떻게 함수 호출을 다시 작동하게합니까? 함수에 this 키워드를 어떻게 사용합니까? 같은 .editIncome 클래스를 가진 여러 항목이 있으므로 클릭 한 항목을 선택해야합니다. 함수 내에서 this의 값을 설정하는 기능, 사용 호출을 호출 할 때

$(".editIncome").click(editIncome); 

또는 : <a class="list-group-item editIncome" onclick="editIncome();" href="#">...</a>

+1

이제 어떻게 함수를 호출합니까? – PeterKA

+0

'$ (". editIncome")을 (를) 클릭하십시오 (editIncome)'. 참조로 전달하면'this' 컨텍스트가 제공됩니다 – charlietfl

+0

업데이트 된 질문을 확인하십시오. – moevans

답변

1

중 하나가 바로 함수 이름을 전달 :

나는이 일을하여 함수를 호출하고 :

$(".editIncome").click(function() { 
    editIncome.call(this); 
}); 

이후 업데이트가 :

<a class="list-group-item editIncome" onclick="editIncome.call(this)" href="#">...</a> 

editIncome 내부 this의 값은 HTML 요소가 될 것입니다.

+0

업데이트 된 질문 확인. 이것은 내가 부르는 방식이 아닙니다. – moevans

+0

내 대답이 업데이트되었습니다. – Becojo

0

$ (". editIncome")을 사용하면 $ (". editIncome")이 바로 가기 였지만 $ (". editIncome")을 삭제하면 $ (this)가 아무것도 .

+0

간단히 입력 : $ (this) = $ (". editIncome") 그리고 포인터를 무언가로 설정해야합니다. 그렇지 않으면 $ (this)에 값이 없습니다. – Dachi

관련 문제