我正在尝试从模型中的条目创建一个表。
我有一个foreach,每个项目都有以下代码:
<td class="answerTD">
<div class="answerOptionDiv" onclick="rightanswer(A1@(item.id))">
@item.Choice1
</div>
</td>
<td class="answerTD">
<div id="A1@(item.id)" class="rightAnswer">Correct</div>
</td>
我正在使用item id和alpabetical范围为每个div提供唯一的名称
我有一个非常简单的javascript函数(可以在另一个不动态创建的表单上工作),它只显示了答案div:
<script>
function rightanswer(x) {
console.info = 'Fired Right';
document.getElementById(x).style.display = 'block';
}
</script>
当我在Firebug中测试函数时,我收到以下错误,控制台没有显示我的信息消息:
TypeError: document.getElementById(...) is null
document.getElementById(x).style.display = 'block';
我正在尝试做什么?
答案 0 :(得分:1)
你应该用引号传递参数。
使用
<div class="answerOptionDiv" onclick="rightanswer('A1@(item.id)')">
而不是
<div class="answerOptionDiv" onclick="rightanswer(A1@(item.id))">
答案 1 :(得分:0)
如果在jQuery中动态创建了某些内容,并且您想捕获调用,则必须确保将函数放在彼此旁边。假设您想通过.click功能显示按钮,并且您想在第二个按钮上使用.click。您必须确保将它们放在同一个函数中,否则将无法调用它。
这不起作用:
$("#buttonOne").click(function() {
$("#divId").append("<a id='buttonTwo'>simpleButton</a>");
});
$("#buttonTwo").click(function() { alert("clicked"); });
但这会:
$("#buttonOne").click(function() {
$("#divId").append("<a id='buttonTwo'>simpleButton</a>");
$("#buttonTwo").click(function() { alert("clicked"); });
});
答案 2 :(得分:0)
抱歉,我是新的Stackoverflow
在asp.net Actualy Startup是我的id,但在客户端它将显示为ctl00_dmrcontent_Startup所以在你的脚本更改onclick =&#34; rightanswer(&#39; A1 @(item.id)&#39;) &#34;然后检查客户端
中显示的div id<div id="Startup" runat="server">