我有一个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());
}
}
[编辑]
我认为这可能是件好事。我先在代码中做了一些改动,这里有一些解释。
我在网格中有一个带有类的元素,当我点击链接时,我希望该类更改为另一个。
答案 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');
})
我在第一个元素中添加了第二个类,它可以工作!
感谢所有试图帮助我的人。