2016-12-07 67 views
0

我有很多與複選框被選中,其中該改變線顏色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

你不能使用$(本)的屬性 –

+0

你可能會觸發事件:http://stackoverflow.com/questions/2490825/how-to-trigger-event-in-javascript –

回答

0

正如其他人所說,你不能在html模板中使用$;你可以,但是,通過this作爲參數傳遞到您的onChange處理:

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