无法在mvc4中使用onclick从锚标记获得调用
unable to get call from anchor tag using onclick in mvc4
cshtml code
<div class="span3">
@for (var i = 0; i < Model.GroupNames.Count; i++)
{
<ul>
<li>
@{
var item = Model.GroupTypeNames[i];
var selected = i == 0 ? " class='"selected'"" : "";
}
<a onclick="getGroupType(@item.Id);" data-option-value="*"@Html.Raw(selected)>@item.TypeName</a>
</li>
</ul>
}
</div>
jquery代码function getGroupType(id) {
debugger;
$.getJSON( "Groups/Get" + id, function (data) {
$(".span9").html($("#GroupTemplate").removeData());
$.each(data, function (index, value) {
if (value.Id != undefined) {
$("#GroupTemplate").tmpl(value).appendTo(".span9");
}
});
$('#circle').css("opacity", "0.5");
});
}
这里无法接听电话但是当我尝试使用onclick="alert('Hello');"
时,它工作得很好
onclick="getGroupType(@item.Id);"
怎么了
正如你所说:
my function is in ready
所以我认为这是一个范围问题,因为你的onclick
处理程序不在准备函数中,所以你的函数getGroupType(@item.Id);
不可用,相反,你可以把它放在全局范围之外。
getGroupType(id){
// all the stuff
}
$(function(){
// all other stuff
});
我希望你得到错误:
ReferenceError: getGroupType is not defined
因为我怀疑你的JavaScript代码出现在文件中比你的onclick
属性晚。
当使用属性时,确保在属性之前定义函数…通常在<head>
。话虽如此,通常的做法是稍后包含脚本并在脚本中附加事件,而不是使用属性。
同时,确保你的函数没有被包装在另一个函数中。JavaScript是有函数作用域的,一个包在另一个函数中的函数不能从全局作用域调用。
这些都假设id
实际上是一个数字。如果id
是字符串,也要记得用引号括起来。guid必须像JavaScript中的字符串一样对待…
onclick="getGroupType('@item.Id');"
您需要将参数用单引号括起来。
onclick="getGroupType('@item.Id');"
相关文章:
- 用beautifulsoup-python调用onclick事件
- 打开网页并自动调用OnClick功能
- 如何在javascript中调用onclick事件?我没有'我不想在我的HTML页面中使用任何事件
- 如何在按Enter键后调用onclick函数
- Selenium>如何使用Selenium Webdriver调用onClick javascript函数
- 在函数中传递参数,然后调用onClick函数
- 如何在类型为“”的输入上调用onclick函数;图像”;
- Javascript函数未调用onclick()和onsubmit()
- 如何在ASP.NET中从MenuItem调用onClick事件
- 使用没有URL的python脚本从网页下载文件,调用onClick函数
- 似乎未调用 Onclick 事件处理程序
- 如何在 document.write 中调用 onclick 函数
- 如何从另一个控件调用 onclick 事件
- 如何在 标记中调用 onclick 函数
- 调用 onClick 方法之前的 ASP 警报文本
- WordPress会自动调用onclick函数
- 调用 onclick 函数时会显示 2 个或更多字符
- 如何在 JavaScript 中动态创建的按钮上调用 onclick 函数
- 调用 ondblclick,而不调用 onclick-event
- 在表单提交后调用 onclick javascript 事件