我需要在ASP.Net中查看我的网站的复选框状态,但我无法使用javascript:
<li>
<a id="link" href="/ControlHoras">Control Horas</a>
<input onchange="favButton()" name="checkbox" type="checkbox" id="ControlHoras"/>
</li>
function favButton() {
if ($(this).is(":checked")) {
var id = this.id;
alert('checked');
} else {
alert('unchecked');
}
};
答案 0 :(得分:2)
this
事件属性,因此favButton
中的{p> onchange
将成为窗口,而非点击的复选框。
您可以使用不显眼的事件处理程序附加事件处理程序来改进代码并避免此问题,如下所示:
$('#ControlHoras').change(function() {
if ($(this).is(":checked")) {
var id = this.id;
alert('checked');
} else {
alert('unchecked');
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<a id="link" href="/ControlHoras">Control Horas</a>
<input name="checkbox" type="checkbox" id="ControlHoras" />
</li>
</ul>
答案 1 :(得分:1)
<li>
<a id="link" href="/ControlHoras">Control Horas</a>
<input onclick="favButton()" name="checkbox" type="checkbox" id="ControlHoras"/>
</li>
答案 2 :(得分:0)
获取呼叫者/发送者的正确方法是通过event
参数。事实上,如果事件没有event
参数,Firefox会忽略这些事件。
function favButton(event) {
if ($(event.currentTarget).is(":checked")) {
var id = event.currentTarget.id;
alert('checked');
} else {
alert('unchecked');
}
};