请帮助我尝试为selectAll编写代码或使用Jquery清除所有代码。我有一个checkboxlist,id的值似乎不正确。 firebug中的ID显示值“<%= checkboxId.ClientID%>”
由于 SA
部分代码:
<a href="javascript:void(0);" onclick="selectClearAlltest('<%= checkboxId.ClientID %>', true)">Select All</a> |
<a href="javascript:void(0);" onclick="selectClearAlltest('<%= checkboxId.ClientID %>', false)">Clear All</a>
<asp:checkboxList id="checkboxId" runat="server" />
脚本:
function selectClearAlltest(id, value) {
var chks = $("#" + id + ":input");
chks.attr("checked", value);
}
答案 0 :(得分:1)
你的选择器错了,它会#checkboxId:input
。你应该添加另一个空间(你正在寻找后代),并且更好:
var chks = $("#" + id + " input:checkbox");
答案 1 :(得分:0)
添加类名会使事情变得更简单 e.g。
<asp:checkboxList id="checkboxId" runat="server" CssClass="whatever"/>
和jQuery代码:
function selectClearAlltest(value) {
$(".whatever").attr("checked", value);
}
甚至更好地使用jQuery.toggle作为
$("#select_all_element_id").toggle(
function () {
$(".whatever").attr("checked", "checked");
},
function () {
$(".whatever").removeAttr("checked");
},
);
示例:强>
<html>
<head>
</head>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<a id="toggle-select" href="#">select/deselect all</a>
<hr/>
<input type="checkbox" class='foo'>Click</input>
<input type="checkbox" class='foo'>On</input>
<input type="checkbox" class='foo'>The</input>
<input type="checkbox" class='foo'>The</input>
<input type="checkbox" class='foo'>Link</input>
<input type="checkbox" class='foo'>Above</input>
<input type="checkbox" class='foo'>To</input>
<input type="checkbox" class='foo'>Change</input>
<input type="checkbox" class='foo'>My</input>
<input type="checkbox" class='foo'>Attributes</input>
<script>
$(document).ready(function(){
$("#toggle-select").toggle(
function () {
$(".foo").attr("checked", "checked");
},
function () {
$(".foo").removeAttr("checked");
}
);
});
</script>
</body>
答案 2 :(得分:0)
如果Firebug向您显示<%=
和%>
,则表示服务器未正确解析/解释您的页面。
这些字符序列通常用于表示服务器处理的代码,而不是进入实际标记。例如,您是否尝试在“.html”文件中执行ASP代码?或者,......您是否尝试在基于PHP的服务器上执行ASP代码?
验证这一点的另一种方法是在页面上执行view source
,看看是否实际生成了服务器生成的代码!
祝你好运!
-Mike