【发布时间】:2015-04-23 23:20:12
【问题描述】:
1> 我有剑道网格,其中一列有一个按钮。我已将 javascript 函数分配给按钮的 onclick 事件。 javascript进行ajax调用。但是当我点击按钮时出现错误
0x800a138f - JavaScript 运行时错误:属性“DoSomething”的值为 null 或未定义,不是函数对象
我尝试将 onclick 设置为“javascript:DoSomething();”没有运气
2> 如果可能的话,我还想将“BatchKey”值传递给函数
<div>
@(Html.Kendo().Grid< BatchDetail>()
.Name("grid")
.Columns(col =>
{
col.Bound(p => p.BatchKey);
col.Bound(p => p.OriginalCost);
col.Bound(p => p.Status);
col.Bound(p => p.LastFileName);
col.Bound(p => p.FileID).ClientTemplate(
"# if (Status == \"Error\") { #" +
"<button id=\"btnResolve\" class=\"resolve-button\" onclick=\"DoSomething();\">Resolve</button>" +
"#}#"
).Title("Action");
})
.AutoBind(true)
.Pageable()
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Read(read => read
.Action("GetData", "Detail", new { ID = Model.ID })))
)
</div>
function DoSomething()
{
$.ajax({
url: "www.msn.com",
success: function (result)
{
$("#div1").html(result);
}
})
}
【问题讨论】:
-
DoSomething肯定在某些本地范围内。不要将onclick属性与字符串一起使用,而是使用 DOM 方法来附加处理程序引用。 -
@user3862378 不要编辑我的帖子,但如果您需要提供更多信息,请添加到您自己的帖子中。或者,只需添加评论。 :)
-
@Vash 我没有看到任何用代码回复的选项。评论的回复选项非常有限。
-
如果按钮在网格内,并且没有它的 ID。如何访问我在 DoSomething() 函数中单击的按钮。
-
在您编辑我的答案时,您提到您将函数包装在
$(function () {块中。还是这样吗?这是我重现它的唯一方法。
标签: javascript jquery kendo-ui kendo-grid kendo-asp.net-mvc