2016-12-07 5 views
0

있습니다 내가 체크 라인 색상을 변경 onchange를 이벤트와 많은 체크 박스가있을 때 체크 박스를 작동하지 않습니다 onchange를 :가 여러 검사

<input type="checkbox" onchange="cocheCommande($(this))" name="${NAME_SELECTION}" value="<%=command.getCdeId()%>" /> 

function cocheCommande(chk) 
{ 
    alert("test cocheCommande"); 
    var tr=chk.closest('tr'); 

    if (chk.is(':checked')) 
    { 
     tr.css('background','#33EE33'); 
     tr.nextUntil("tr.entete","tr").css('background','#FFFF33'); 
    } 
    else 
    { 
     tr.css('background','#D0EED0'); 
     tr.nextUntil("tr.entete","tr").css('background','#EEEED0'); 
    } 
} 

내가 모든 것을 선택하거나 선택 해제 할 수있는 기능을 가지고있다. 그러나 내가 사용하면 onchange 이벤트는 모든 것이 검사 되더라도 결코 호출되지 않습니다. 왜? 어떻게해야합니까?

+1

당신이 속성에서 $ (이)를 사용할 수 없습니다 당신은, 그러나, 당신의 onchange를 처리기에 인수로 this를 전달할 수 있습니다 –

+0

이벤트가 트리거 될 수 있습니다. http://stackoverflow.com/questions/2490825/how-to-trigger-event-in-javascript –

답변

0

다른 사람들이 말했듯이, 당신은 HTML 템플릿에서 $를 사용할 수 없습니다;

HTML :

<input onchange="change(this)" type="checkbox" /> 

JS :

function change(elem) { 
    var element = $(elem); 
    console.log(element.next()) 
} 

https://plnkr.co/edit/dx8GoJxHwKa52VFCkn2G?p=preview

+0

확인시 작동합니다. (예전처럼) 하나 씩 바꾸지 만, 같은 시간에 모든 것을 검사 할 때, onchange는 절대로 호출하지 않습니다. – Grichka

+0

글쎄, 그건 또 다른 문제입니다 :) 어쨌든 "모두 선택"함수를 변경해야합니다. – Fissio