当有多项检查时,onchange不会在复选框上工作

时间:2016-12-07 14:34:27

标签: javascript checkbox 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 个答案:

答案 0 :(得分: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