我的函数不会触发onclick jquery

时间:2016-10-24 13:11:27

标签: javascript jquery asp.net-mvc kendo-grid

我有一个asp.net kendo网格,里面我有一个类的元素。我想通过点击我放在右侧的链接来​​替换另一个类。

所以我使用jquery来做它但它似乎没有工作..并且在chrome的控制台内我没有得到任何错误。我试图提醒,但它没有触发。

如果有人可以提供帮助,那就是我的jquery

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

我还添加了创建一个带有html助手的虚假链接,将其放入我的网格中,所以我在网格中有这个:

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

这在课堂上

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());
    }
}

[编辑]

我认为这可能是件好事。我先在代码中做了一些改动,这里有一些解释。

我在网格中有一个带有类的元素,当我点击链接时,我希望该类更改为另一个。

4 个答案:

答案 0 :(得分:0)

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

尝试使用.on('click',function(index)...

答案 1 :(得分:0)

.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。我提到这个的唯一原因是因为你给点击功能一个从未使用过的索引。

答案 2 :(得分:0)

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');
        }            
    });
}

答案 3 :(得分:0)

所以对于想要和我一样的人来说,最后要找出方法。

你所要做的就是:

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

我在第一个元素中添加了第二个类,它可以工作!

感谢所有试图帮助我的人。