为什么检查和取消选中不能在asp.net中工作,它几乎就像检查的属性没有显示? 我正在尝试使用jquery来检查和取消选中布尔值到警报?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.8.1.js" type="text/javascript"></script>
<script src="JScript1.js" type="text/javascript"></script>
<script type="text/javascript">
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:CheckBox ID="CheckBox1" runat="server" />
</div>
</form>
</body>
</html>
$(document).ready(function () {
$("#CheckBox1").click(function () {
if ($(this).is(':checked')) {
alert("true");
} else {
alert("false");
}
});
});
答案 0 :(得分:2)
使用Firebug检查元素的ID。我知道ASP.NET会在CheckBox1的末尾追加一个随机的ID字符串,因此Jquery不会把它拿起来。
最好的方法是用标准HTML包围它并从父级调用元素。
<div id="CheckContainer">
<asp:CheckBox ID="CheckBox1" runat="server" />
</div>
然后
$(document).ready(function () {
$("#CheckContainer input[type='checkbox']").click(function () {
if ($(this).is(':checked')) {
alert("true");
} else {
alert("false");
}
});
});
答案 1 :(得分:1)
复选框的客户端 ID
不会是CheckBox1
。
您需要使用CheckBox1.ClientID
来获取并在jQuery中使用它。
$("#<%:CheckBox1.ClientID%>")
有关详细信息,请参阅MSDN上的Control.ClientID
。
答案 2 :(得分:1)
由于Asp.Net控件具有runat =“server”属性,因此元素的id将附加ContentPanel ..因此导向器选择器将无法工作..试试这个
在这种情况下,有效的选择器将是
$("[id$=CheckBox1]")
$("[id*=CheckBox1]")
$("#<%= CheckBox1.ClientID %>")
$(document).ready(function () {
$("[id$=CheckBox1]").click(function () {
if ($(this).is(':checked')) {
alert("true");
} else {
alert("false");
}
});
});
答案 3 :(得分:0)
删除此行并重试
<script src="JScript1.js" type="text/javascript"></script>
并将您的jQuery代码放在脚本Tag中。希望它能起作用。