我的函数不触发onclick jquery

My function won't trigger onclick jquery

本文关键字:onclick jquery 函数 我的      更新时间:2023-09-26

我有一个asp.net剑道网格和内部我有一个类元素。我想通过点击我放在右边的链接来替换这个类。

所以我用jquery来做,但它似乎不工作。在chrome的控制台,我没有得到任何错误。我试过设置警报,但是没有触发。

如果有人可以帮助这里是我的jquery

function changetoOK() {
    grid.tbody.find("td").onclick(function (index) {
        if ($("a").hasClass('changeToOk'))
        {
            $(this).removeClass('customClassVerif');
            $(this).addClass('customClassOK');
        }            
    });
}

我还添加了一个HTML helper来创建一个假链接,把它放在我的网格中,所以我在网格中有这个:

columns.Template(@<text></text>).ClientTemplate(@Html.EmptyLink("Passer à OK").ToHtmlString());

和class

public static class MyHtmlExtensions
{
    public static MvcHtmlString EmptyLink(this HtmlHelper helper, string linkText)
    {
        var tag = new TagBuilder("a");
        tag.MergeAttribute("class", "changeToOK");
        tag.MergeAttribute("href", "javascript:void(0);");
        tag.SetInnerText(linkText);
        return MvcHtmlString.Create(tag.ToString());
    }
}
[编辑]

我想知道一下可能会很好。我已经在我的代码中做了一些改变,这里是一些解释。

我有一个元素内部的网格与类,我希望该类更改为另一个当我点击我的链接。

我认为问题是因为你尝试使用'onclick'方法在jQuery中不起作用。

尝试使用内("点击",函数(指数)…

。Onclick不是一个jquery方法,试试。click代替,像这样:

function changetoOK() {
    grid.tbody.find("td").click(function (index) {
        if ($("a").hasClass('changeToOk'))
        {
            $(this).removeClass('changeToOk');
            $(this).addClass('customClassOK');
        }            
    });
}

这将把单击事件绑定到td元素,尽管记住您提供的所有功能将查找所有a元素并查看其中是否有changeToOk类。我提到这一点的唯一原因是因为你给click函数一个索引,然后永远不会使用。

This will work as expected :
function changetoOK() {
    grid.tbody.find("td").on('click', function (event) {
        if ($("a").hasClass('changeToOk'))
        {
            $(this).removeClass('changeToOk');
            $(this).addClass('customClassOK');
        }            
    });
}

所以对于每个想做和我一样的人来说,终于找到了方法。

你所要做的就是:

$(document).on('click', '.changeToOK', function () {
    $(this).parent().parent().find('.verifyCell').removeClass('customClassVerif').addClass('customClassOK');
})

我添加了第二个类到我的第一个元素,它工作!

感谢所有帮助过我的人。